unity设计模式-----责任链模式

责任链模式的定义:责任链模式指的是--某个请求需要多个对象进行处理,从而避免请求的发送者和接收之间的耦合关系,将这些对象连成一条链子,并沿着这条链子传递请求,直到有对象处理它为止

例如:

从生活中的例子可以发现,某个请求可能需要几个人的审批,即使技术经理审批完了,还需要上一级的审批.

 

 

责任链模式的结构图

即有A,B,C,D四个工人,他们都具备两个能力

1.自己工作的拧螺丝方法

2.下一步让谁做

 

主要涉及两个角色:

1>抽象处理者角色(Handler):定义出一个处理请求的接口,这个接口通常由接口或抽象类来实现

2>具体处理者角色(ConcreteHandler):具体处理者接受到请求后,可以选择将该请求处理掉,或者将请求传给下一个处理者,因此,每个具体处理者需要保存下一个处理者的引用.以便把请求传递下去

 

责任链模式的使用场景

1>一个系统的审批需要多个对象才能完成处理的情况下,例如请假系统

2>代码中存在多个if--else语句的情况下,此时可以考录使用责任链模式进行代码进行重构

 

 

责任链模式的优缺点:

优点:

(1)降低了请求的发送者和接收者之间的耦合

(2)把多个条件判定分散到各个处理类中,使得代码更加清晰,责任更加明确

缺点:

(1)在找到正确的处理对象之前,所有的条件判定都要执行一遍,当责任链过长时,可能会引起性能问题

(2)可能导致某个请求不被处理

 

转载于:https://www.cnblogs.com/qipei/p/10033900.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值