第二章节 - 责任链设计模式

 

责任链设计模式 - 章节

 

概念
·发送方和接收方解耦
·接收器包含对下一个接收器的引用
·促进松耦合
·没有Handler-OK
·例子:
- java. util. logging. Logger# log()
- javax. servlet. Filter# doFilter()
- Spring Security Filter Chain


设计注意事项
·接收对象链
·处理程序是基于接口的
·每个实现的ConcreteHandler
·每个处理程序都有对下一个处理程序的引用
·Handler,ConcreteHandler


UML图
第二章节 - 责任链设计模式

 

 例子:Logging
第二章节 - 责任链设计模式

 

练习:责任链模式
Handler,Successor,Request
Create Handler
Chain
第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

第二章节 - 责任链设计模式

 

陷阱
·保证·处理/处理程序
·运行时配置风险
·链长/性能问题


对比

责任链模式
·处理器是独一无二的
·继任者
·可以使用命令

命令模式
·命令还独特
·封装函数
·在自然界中是可逆或可追踪的


责任链模式总结
·将发送方和接收方解耦
·运行时配置
·自然界中·层次
·小心大型链条