java模式学习-责任链模式

责任链模式


1、概念

将接受者对象连成一条链,并在该链上传递请求,知道有一个接收对象处理它,通过让更多对象有机会处理请求,避免了请求发送者与接收者之间的耦合。


2、如何实现

发出请求的客户端并不知道链上的那个接受者会处理这个请求,从而实现了客户端和接受者之间的解耦。


3、责任链模式的优缺点

3.1、开闭原则

对扩展开放,对修改关闭,责任链模式中新增接受者时只需要新增一个类,需要时直接添加即可,满足此原则。


3.2、性能因素

责任链会创建很多对象来作为链上的一环,这些对象有可能根本就用不上,增加了内存开销,影响性能。


4、实际应用

  • 责任链在我们日常编码中可能很少应用,但是却每天都在接触;

  • java中的异常处理机制;

  • servlet的过滤器;

  • jsp页面的事件冒泡处理机制;
点赞