结合我实际的工程经验说一下我的思考。
责任链
我个人觉得责任链,责任链,关键是在这个链上。链的意思至少有两个
- 有两个或者两个以上的组建组合才能称之为链
- 链表示一种顺序
链可以用链表实现,也可以用 list
实现,这个都无所谓。
那么,怎么理解责任呢?
责任的意思是,应该执行链上的这个组件
对于责任,或者组件而言,其之间的关系为
- 组件之间的关系互斥
- 比如,日志输出
- 设计模式 | 责任链模式
- 组件之间相互联系
- 比如,每一个组件都对数据进行处理,然后传递给下一个,类似 stream 流
- 组件之间没有任何关系,都是独立的
应用
责任链,如果从 if-else
角度出发,貌似是没有区别的,但是,责任链提供的是一个更大的自由性。
比如依靠配置来自定义执行 CRSCDMonitor | 责任链