java之责任链模式

一、简介

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理一个请求。请求沿着处理者链传递,直到某个处理者决定处理此请求。

二、技术实现

2.1 Handler
java 复制代码
public interface Handler{
    void handle(Request req, Response resp, Chain chain);
}
2.2 Chain
java 复制代码
public class Chain{
   
    private List<Handler> handlers;
    
    private int index;

    public Chain(List<Handler> handlers){

         this.handlers = handlers;

    }

   
    public void next(Request req, Response resp){
        
        if (index + 1 < handlers.size()){

            handlers.get(index++).handle(req, resp, this);
         
        }

    }
}
2.3 Handler 实现
java 复制代码
public LogHandler implements Handler{

    @Override
    public void Handle (Request req, Response resp, Chain chain){
        long start = System.currentTimeStamps();
        chain.next(req,resp);
        log.info("request:{},response:{}, duration:{}",req, resp, System.currentTimeStamps() - start);         
    }
}
相关推荐
云烟成雨TD3 分钟前
Agent Scope Java 2.x 系列【19】Harness:从零搭建 MySQL 文件系统
java·人工智能·agent
qq3621967056 分钟前
阿里裁员新消息(2026最新动态汇总)
java·开发语言·前端
a1117767 分钟前
“黑夜流星“个人引导页 网页html
java·前端·html
砚底藏山河14 分钟前
沪深A股:如何获取基金持股数据
java·python·数据分析·maven
.千余14 分钟前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
代码改善世界21 分钟前
【C++进阶】C++11:列表初始化、右值引用与移动语义、完美转发全解析
java·开发语言·c++
AIGS00129 分钟前
JBoltAI V4.5企业智能体平台:技术架构拆解
java·人工智能·ai大模型应用
scx_link32 分钟前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
一勺菠萝丶39 分钟前
Maven SNAPSHOT 父 POM 无法解析问题排查
java·maven
GZ同学40 分钟前
单双变量Ripley’s K函数 R 语言实现
开发语言·r语言