# 如何让孩子爱上设计模式 ——22.责任链模式(Chain o

2017-03-21  本文已影响66人  coder_pig

标签: 设计模式初涉


描述性文字

定义

使多个对象都有机会处理请求,从而避免请求的发送者接收者之间的耦合关系,
将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。

两个角色

UML类图

使用场景

优缺点

优点

缺点


示例代码

写个这种模式烂大街的例子:你问:哥哥,粑粑,麻麻拿零花钱,门槛依次是100,500和1000
然后你按照层级问他们要钱,100以下,哥哥可以给你,100以上的话你要找粑粑,500以上要找
麻麻这样,代码实现下~

先写一个抽象处理者,定义一个抽象的请求方法,下一个抽象处理者的引用

接着依次实现三个具体处理者,哥哥,粑粑和麻麻

最后客户端实例化三个具体处理者,然后依次指定下家,从哥哥开始发送请求

输出结果

好的,关于责任链模式的例子非常简单,另外责任链模式还分纯与不纯


本节代码示例

https://github.com/coder-pig/DesignPatternsExample/tree/master/21.Chain%20of%20Responsibility%20Pattern

上一篇 下一篇

猜你喜欢

热点阅读