设计模式-责任链模型

责任链模式

场景: OA审批系统

  • CEO 审批项目 经费 500万<x ≤ \leq 1000万
  • 总监 审批的经费 300万 < x ≤ \leq 500万
  • 总监秘书 审批的经费 100万< x ≤ \leq 300万
  • 研发经理 审批的经费 50万 <x ≤ \leq 100万
    传统方式 是 (接收到请求后,根据相应金额,来调用相应的approver 处理),客户端 采用 if else 或者switch 方式来解决 (缺点) 当需要添加,相应角色的时候,或者金额变动时,都需要修改客户端 ,并且客户端(存放 接口请求,分配给那个approver )需要知道多少个审批解决和访问。

职责连模式介绍: 每一个接收者,都包含另一个接收者的引用
注意!! handler 其他人也可能称为:appprover

责任链模式,为请求创造一个接受者对象的链 这种模式对请求者和接收着,进行解耦。

  • 职责连模式介绍: 每一个接收者,都包含另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传递给下一个接收者。
  • 责任链模型属于行为模型

原理图

  • Handler 抽象的处理者(abstract),定义一个处理请求的接口(abstract)同时含另外一个handler。
  • ConcreHandlerA,B 是具体的处理者,若能处理则处理,若不能处理,则传递给下一个处理者。
  • request 表示一个请求,含有多个属性

在这里插入图片描述

具体实例:
注意!! 实现是 各个审批,设置好下一个审批(构成一个环形)

在这里插入图片描述

代码 后续补充

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

利剑 -~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值