设计模式学习(十六)(责任链模式)

模式名称

责任链模式(Chain-of-responsibility pattern)

解决问题

以类似流水线的方式进行对任务的处理。

这个任务我该完成吗?

如果该那我就完成他

如果不该我就把这个任务交给下一个人。

解决方法

1.定义统一的抽象Handler类,包含接口于nextHandler

2.实现实体类的handle()方法。

3.将各个实体类绑定起来。

模式优点

1.降低耦合度。它将请求的发送者和接收者解耦。

2.接受者不需要知道链的结构,简化代码,更容易进行扩充。

模式缺点

1.递归调用资源消耗较多。

2.在操作不当的情况下可能会出现环。

3.可能会引入大量的类。

源码

 

打赏