责任链设计模式 - 章节
概念
·发送方和接收方解耦
·接收器包含对下一个接收器的引用
·促进松耦合
·没有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
陷阱
·保证·处理/处理程序
·运行时配置风险
·链长/性能问题
对比
责任链模式
·处理器是独一无二的
·继任者
·可以使用命令
命令模式
·命令还独特
·封装函数
·在自然界中是可逆或可追踪的
责任链模式总结
·将发送方和接收方解耦
·运行时配置
·自然界中·层次
·小心大型链条