责任链模式

文档地址:《设计模式之禅》

切入故事: 古代妇女的枷锁——“三从四德”

定义: Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it.(使多个对象都有机会处理请求, 从而避免了请求的发送者和接受者之间的耦合关系。 将这些对象连成一条链, 并沿着这条链传递该请求, 直到有对象处理它为止。 )

通用类图:

                

        抽象的处理者实现三个职责: 一是定义一个请求的处理方法handleMessage, 唯一对外开放的方法; 二是定义一个链的编排方法setNext, 设置下一个处理者; 三是定义了具体的请求者必须实现的两个方法: 定义自己能够处理的级别getHandlerLevel和具体的处理任务echo。

优点: 请求和处理分开。

缺点:

           1: 性能问题。

           2: 调试很不方便。

 注意:

           链中节点数量需要控制, 避免出现超长链的情况, 一般的做法是在Handler中设置一个最大节点数量, 在setNext方法中判断是否已经是超过其阈值, 超过则不允许该链建立, 避免无意识地破坏系统性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值