责任链模式

描述

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。

在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

类图
代码演示
java 复制代码
public abstract class Handler {

    private Handler next;

    public Handler getNext() {
        return next;
    }

    public void setNext(Handler next) {
        this.next = next;
    }

    //处理请求
    public abstract void handle(String request);
}
java 复制代码
public class OneHandler extends Handler {

    @Override
    public void handle(String request) {
        System.out.println("one");
    }
}
java 复制代码
public class TwoHandler extends Handler {
    @Override
    public void handle(String request) {
        System.out.println("tow");
    }
}
java 复制代码
public static void main(String[] args) {
    OneHandler oneHandler = new OneHandler();
    TwoHandler twoHandler = new TwoHandler();
    oneHandler.setNext(twoHandler);
    oneHandler.handle("haha");
}
其他参考
开源框架中的责任链模式实践
https://mp.weixin.qq.com/s/IvPEvf1Jn3Xejh8TbH0Inw
相关推荐
geovindu4 天前
Java: Chain of Responsibility Pattern
java·开发语言·后端·设计模式·责任链模式·行为模式
geovindu5 天前
CSharp:Chain of Responsibility Pattern
开发语言·后端·设计模式·c#·.net·责任链模式·行为模式
谢栋_11 天前
设计模式从入门到精通之(七)责任链模式
java·设计模式·责任链模式
wuqingshun31415919 天前
什么是责任链模式,一般用在什么场景?
java·责任链模式
ttod_qzstudio19 天前
【软考设计模式】责任链模式:请求传递的多级处理与发送接收解耦精讲
设计模式·责任链模式
c2385622 天前
第三篇文档:多级信件分拣流水线 —— 责任链模式完美封装 System V 消息队列
运维·服务器·责任链模式
未若君雅裁2 个月前
责任链模式详解:从Servlet过滤器到订单创建流程
servlet·责任链模式
许彰午2 个月前
责任链模式实战——同一个框架里的两种链
java·开发语言·责任链模式
老码观察2 个月前
设计模式实战解读(九):责任链模式——流水线上层层把关的艺术
java·设计模式·责任链模式
likerhood2 个月前
设计模式 · 责任链模式(Chain of Responsibility Pattern)
设计模式·责任链模式