设计模式--责任链模式【行为型模式】

设计模式的分类

我们都知道有 23 种设计模式,这 23 种设计模式可分为如下三类:

  • 创建型模式(5 种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。
  • 结构型模式(7 种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
  • 行为型模式(11 种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

在这里插入图片描述

设计模式系列文章传送门

设计模式的 7 大原则

设计模式–单例模式【创建型模式】

设计模式–工厂方法模式【创建型模式】

设计模式–抽象工厂模式【创建型模式】

设计模式–建造者模式【创建型模式】

设计模式–原型模式【创建型模式】

设计模式–适配器模式【结构型模式】

设计模式–装饰器模式【结构型模式】

设计模式–代理模式【结构型模式】

设计模式–外观模式(门面模式)【结构型模式】

设计模式–桥接模式【结构型模式】

设计模式–组合模式【结构型模式】

设计模式–享元模式【结构型模式】

设计模式–策略模式【行为型模式】

设计模式–模板方法模式【行为型模式】

设计模式–观察者模式【行为型模式】

设计模式–迭代器模式【行为型模式】

什么是责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,责任链模式将多个对象(处理器)连接成一条链,当一个请求被发送到这个链上时,每个处理器都有机会处理这个请求,如果一个处理器能够处理该请求,它就会处理,然后这个请求就不再继续沿着链传递,如果它不能处理,就会把请求传递给链上的下一个处理器。

责任链模式的组成部分

  • 抽象处理者(Handler):它定义了一个处理请求的接口,并且包含一个指向后续处理者(也就是链中的下一个处理者)的引用,通常这个抽象类或者接口有一个方法来设置下一个处理者,还有一个抽象方法来处理请求。
  • 具体处理者(Concrete Handler):这是抽象处理者的具体实现类,每个具体处理者都实现了处理请求的方法,在这个方法中,它首先判断自己是否能够处理这个请求,如果可以,就进行处理,如果不行,就将请求转发给下一个处理者(如果有下一个处理者的话)。

责任链模式案例演示

生活中有很多案例都可以使用责任链模式来处理,例如工作中的请假场景,假设我们有一个请假审批系统,请假天数不同需要不同级别的领导审批,比如,员工请假时长小于 2天,主管审批即可,请假请假时长3 - 5 天,需要经过部门经理审批,而请假 5 天以上,则需要部门总经理审批,在这个场景中请假审批就可以抽象出一个处理者,而主管、经理、总就是总经理具体的处理者,我们使用代码来演示一下。

AskForLeaveInfo(请假信息类)

AskForLeaveInfo 定义了请假的基本信息,,代码如下:

public class AskForLeaveInfo {
   
   

    private String name;

    //请假时长 单位:天
    private int lengthLeave;

    public AskForLeaveInfo(String name, int lengthLeave) {
   
   
        this.name = name;
        this.lengthLeave = lengthLeave;
    }


    public String getName() {
   
   
        return name;
    }

    public void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值