责任链模式

描述

顾名思义,责任链模式(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
相关推荐
苏渡苇1 天前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
短剑重铸之日2 天前
《设计模式》第十篇:三大类型之行为型模式
java·后端·设计模式·责任链模式·访问者模式·行为型模式
刀法孜然7 天前
Chain of Responsibility 职责链模式
责任链模式
小码过河.8 天前
设计模式——责任链模式
设计模式·责任链模式
Engineer邓祥浩10 天前
设计模式学习(25) 23-23 责任链模式
学习·设计模式·责任链模式
虫小宝22 天前
基于责任链模式构建可扩展的微信群发消息风控过滤器(Java实现)
android·java·责任链模式
Knight_AL23 天前
设计模式之责任链模式:原理解析 + Java 示例
java·设计模式·责任链模式
Geoking.23 天前
【设计模式】责任链模式(Chain of Responsibility)详解
java·设计模式·责任链模式
Knight_AL23 天前
Spring Boot 中优雅地使用责任链模式(@Order 实战)
windows·spring boot·责任链模式
我是小疯子661 个月前
深入解析Rocket框架的FromRequest与责任链模式
责任链模式