# 简介

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。

此处请考虑 Java 里的 Filter

public interface Filter {
    default void init(FilterConfig filterConfig) throws ServletException {}
    void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) 
        throws IOException, ServletException;
    default void destroy() {}
}

本质上就是请求过来了,由当前 FIlter 传过去,再交给下一个 FIlter 处理。如果说链过长,其实是可能爆栈的。

# 参考

  • https://pdai.tech/md/dev-spec/pattern/15_chain.html