简介
责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系
将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
图例
责任链-根据事情大小来决定责任向上冒泡到谁身上
场景设置
如上图-DBA某人把线上数据库删了
不好的代码实现
调用(传入事件等级):
output:
使用责任链模式
首先设置下请求对象(方便调用传参):
设置基类handler
运维组长职能类
CTO类
大boss类
调用:
output:
UML类图
总结
优点:
将请求的发送者和接受者解耦
可以简化你的对象,因为它不需要知道链的结构
通过改变链内的成员和次序,允许你动态的新增和删除责任
缺点:
对象变得多了,相应对象管理比较复杂
一个请求有可能末端都得不到处理,或者因为没有正确配置没有处理
领取专属 10元无门槛券
私享最新 技术干货