设计模式——责任链模式

责任链(Chain of Responsibility)模式:将要处理请求的对象连成一条链,让请求沿着这条链传递,直到有一个对象处理它为止。



Handler:定义一个处理请求的接口,实现后继链;
ConcreteHandler:处理它所负责的请求,保存它的后继者,如果不能处理请求,则转发给后继者;
Client:向链上的具体处理者(Concretehandler)对象提交请求。

适用性:
(1)有多个对象可以处理同一个请求;
(2)在不明确指定接受者的情况下,向多个对象中的一个提交请求;
(3)可处理一个请求的对象集合应该动态指定;

优点:
(1)降低耦合度;
(2)增强了给对象指派职责的灵活性;

缺点:
(1)性能问题,每个请求都从链头开始,如果链比较长,性能消耗大;
(2)如果链条比较长,会造成调试不方便;
(3)不保证请求一定被接受。

实现:
(1)可以在Handler中设置最大链条数;
(2)后继者可以使用新的链接,也可以使用已有链接;
(3)当业务逻辑越来越多时,责任链模式可以作为补救模式来使用;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值