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);         
    }
}
相关推荐
用户0304805912632 分钟前
Spring Validation教程
java
Hello.Reader4 分钟前
DTO / VO / BO / Entity 分层到底怎么用?
java·分层
云梦谭5 分钟前
AI 生成的FreeSWITCH 呼出流程深度分析freeswitch-1.10.12.-release
java·前端·php
红石程序员10 分钟前
Python环境管理
开发语言·python
随机昵称_12345611 分钟前
RSA私钥解密乱码问题
java·非对称加密
Chennnng12 分钟前
关于python版本,显卡版本,torch版本之间的问题
开发语言·python
龙亘川13 分钟前
【课程2.4】开发环境搭建:K8s集群部署、芋道框架集成、ThingsBoard对接
java·容器·kubernetes·智慧城市·智慧城市一网统管 ai 平台
rit843249917 分钟前
基于MATLAB的多变量动态矩阵控制(DMC)仿真实现
开发语言·matlab·矩阵
pyniu24 分钟前
项目实站day7--功能之营业额统计,用户数量统计
java·开发语言·spring boot·spring
一周困⁸天.35 分钟前
K8S-NetworkPolicy
java·开发语言