设计模式Day03

设计模式Day03,第1张

调停者:找同一个组件进行处理。类似于消息中间件。

门面:客户直接找前台,封装底层处理逻辑。

装饰器模式

责任链模式


实现处理如下图所示的效果


核心代码:
过滤器的doFilter方法

public class Filter01 implements Filter {
    @Override
    public boolean doFilter(Request request,Response response,FilterChain chain) {
        System.out.println("request:f1执行");
        chain.doFilter(request,response,chain);
        System.out.println("response:f1执行");
        return true;
    }
}

责任链的doFilter方法

import java.util.ArrayList;
import java.util.List;

public class FilterChain implements Filter {
    List<Filter> filters = new ArrayList();
    Integer index = 0;

    FilterChain add(Filter filter){
        filters.add(filter);
        return this;
    }

    @Override
    public boolean doFilter(Request request,Response response,FilterChain chain) {
       //判断是否执行到链尾 执行到链尾即停止执行
        if(index==chain.filters.size()) return false;
        Filter filter = chain.filters.get(index);
        index++;
        return filter.doFilter(request,response,chain);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/720735.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存