当前位置: 首页 > news >正文

责任链设计模式->规则树

责任链设计模式

核心概念:什么是责任链模式?
责任链模式 的定义是:避免将请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。

规则树模式

/*** 抽象策略路由器* 实现策略映射和策略处理的核心抽象类* * @param <T> 请求参数类型* @param <D> 动态上下文类型* @param <R> 返回结果类型*/
public abstract class AbstractStrategyRouter<T, D, R> implements StrategyMapper<T, D, R>, StrategyHandler<T, D, R> {// 默认策略处理器,当找不到匹配策略时使用@Getter@Setterprotected StrategyHandler<T, D, R> defaultStrategyHandler = StrategyHandler.DEFAULT;/*** 路由方法 - 根据请求参数选择对应的策略处理器并执行* * @param requestParameter 请求参数* @param dynamicContext 动态上下文信息* @return 策略处理结果* @throws Exception 可能抛出的异常*/public R router(T requestParameter, D dynamicContext) throws Exception {// 根据请求参数和上下文获取对应的策略处理器StrategyHandler<T, D, R> strategyHandler = get(requestParameter, dynamicContext);// 如果找到匹配的策略处理器,则执行该处理器if(null != strategyHandler) {return strategyHandler.apply(requestParameter, dynamicContext);}// 如果没有找到匹配的策略处理器,则使用默认处理器return defaultStrategyHandler.apply(requestParameter, dynamicContext);}}

核心功能说明:

  1. 泛型设计

    • T - 请求参数类型
    • D - 动态上下文类型
    • R - 返回结果类型
  2. 双重接口实现

    • StrategyMapper - 负责策略的映射和查找
    • StrategyHandler - 负责策略的具体执行
  3. 路由逻辑

    • 首先尝试通过 get() 方法查找匹配的策略处理器
    • 找到则执行匹配的策略
    • 未找到则降级到默认策略处理器
http://www.dtcms.com/a/602644.html

相关文章:

  • 做仓单的网站h5手机网站发展趋势
  • 1013 Battle Over Cities
  • 山东泰山队深圳队seo怎么学
  • Bootstrap5 轮播功能详解
  • title 株洲网站建设开通公司网站
  • 站长工具综合查询系统电子商务网站设计目的及要求
  • 【React】首页悬浮球实现,点击出现悬浮框
  • 怎么查自己的网站备案编号响应式网站开发工具
  • 易语言静态编译优化技术 | 如何提升易语言项目的可移植性与安全性
  • c语言编译器安装教程 | 完整安装步骤与常见问题解答
  • 易语言exe反编译器 | 高效还原易语言程序的逆向分析工具
  • Windows 10 C语言编译器安装与配置 | 完整步骤与技巧详解
  • 848给我做一下88网站二级域名网站查询入口
  • Hadoop集群搭建(上):centos 7为例(已将将安装所需压缩包统一放在了/opt/software目录下)
  • 北京市丰台区建设部官方网站网站500错误是什么意思
  • 最好的商业网站网上移动厅官方网站
  • 4.1.2 EP2624-0002 四继电器模块接线说明
  • 反编译易语言程序 | 如何有效反编译与逆向分析易语言应用程序
  • 电子商务网站建设流程阳新网站建设
  • 服务端 http接口文档 标准参考
  • 3GPP 5G八大性能需求及影响介绍
  • php做的网站如何运行wordpress加ssl
  • 带注册登录的网站模板网站建设 qq业务网制作
  • android-studio如何打包一个debug的apk
  • 【Java SE 基础学习打卡】11 Path 环境变量的配置
  • 学网站建设需要什么软件购物网站开发介绍
  • 基于MATLAB的多尺度血管检测与线追踪实现
  • 分布式锁实现方式深度详解
  • 网站建设评审会禁忌网站
  • 网站后台策划微信如何开小程序