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);         
    }
}
相关推荐
共享家95274 分钟前
测试常用函数(下)
java·服务器·前端
沐知全栈开发9 分钟前
桥接模式(Bridge Pattern)
开发语言
步步为营DotNet11 分钟前
深度解析.NET 中IServiceCollection:构建可扩展服务体系的关键
java·网络·.net
问道飞鱼13 分钟前
【Rust开发知识】Actix-web 开发环境搭建完整教程
开发语言·前端·rust·actix-web
刘一说19 分钟前
JDK、Maven、Spring Boot 各版本兼容性问题
java·spring boot·maven
froginwe1129 分钟前
SQLite 触发器
开发语言
争不过朝夕,又念着往昔38 分钟前
C++AI
开发语言·c++·人工智能
敲上瘾43 分钟前
C++11线程库指南:线程、锁、原子操作与并发编程实战
开发语言·c++·多线程
夏幻灵1 小时前
JAVA基础-就近原则和this关键字
java·开发语言
蜀中孤鹰1 小时前
使用gson定制化序列化/反序列化
java·json