12.设计模式--责任链模式(Chain of Responsibility模式)

1.定义

Chain of Responsibility模式名为责任链模式,是一种行为型模型,使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

首先看看什么叫推卸责任,我们去公司申请财务报销,当找到财务时填写报销单后,被告知金额太大只能找财务主管批,于是我们拿着资料去找财务主管,财务主管说金额还是太大只能找老板批。这里相当于将责任传递下去即推卸责任。原因是每个财务能审批的最大金额是不一样的。

通过上面的报销例子,我们可以看到自己因为报销找了很多人,这些人相当于一个链条,即第一个不能解决那么找第二个(财务主管),第二个不能解决找第三个(老板)直到找到到底该谁来进行审批即谁来处理。

2.责任链模式结构图

Financial作为财务部门的抽象,而FinancialStaff是财务普通员工,普通员工只能审批金额为0-2000元的资金,FinancialLeader是财务部门负责人只能审批金额为0-10000元的资金,而CEO只能审批0-50000元的资金。如果报销金额超过50000元,那么剩余的金额就需要自己承担。这里CEO这个人员实际上例子举得不是特别好,因为实际上CEO并不属于财务部门所以不应该继承Financial。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值