责任链设计模式

责任链设计模式,就是一个链

我也是参照着网上大部分说的案例来学习的,再复述一遍:
假如我要请假,公司规定不超过3天,TL审批即可;3天到6天之内,这是公司的规定,我们假如员工不知道这个规定,那责任链设计模式就是说:
我在请假的时候,我只需要按照我想请假的天数提交申请,至于是TL审批?还是TL的TL审批?还是大boss审批?对于提交请假申请的人,不需要关心
因为在这个场景中,TL、TL的TL、大boss这三者是在一个责任链上的,他们三个人都可以来处理请假请求,对于请假人,只需要提交申请,如果责任链中的第一个处理不了,会把请求申请转交给下一个人,直到责任链中的最后一个处理人,当然,也有可能无人处理

责任链设计模式优缺点

责任链设计模式的优点
将服务调用者和处理者解耦,服务调用者无需关心具体实现
灵活性较高,可以动态的添加handler

责任链设计模式的缺点:
对性能有一定的影响
可能会造成死循环

责任链设计模式demo


public abstract class AbstractHandler {
   
    protected AbstractHandler next;

    public void setNextHandler(AbstractHandler abstractHandler){
   
        this.next = abstractHandler;
    }

    /**
     * 入参为休假天数,我们认为,不超过3天,只需要leader审批即可
     * 如果超过3天,不超过5天 需要leader的leader(boss)审批
     * 如果超过5天,需要leader的leader的leader(bigBoss)审批
     * @param vocationDays
     */
    public abstract void handlerRequest
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值