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

网站建设和考核工作通知centos 6 wordpress

网站建设和考核工作通知,centos 6 wordpress,百度权重网站排名,可以投放广告的网站下面是一篇关于设计模式之职责链模式(Chain of Responsibility Pattern)的详细博客,并附有 Java 实现代码示例。 深入理解设计模式之:职责链模式(Chain of Responsibility Pattern) 一、什么是职责链模式&…

下面是一篇关于设计模式之职责链模式(Chain of Responsibility Pattern)的详细博客,并附有 Java 实现代码示例。


深入理解设计模式之:职责链模式(Chain of Responsibility Pattern)

一、什么是职责链模式?

职责链模式是一种行为型设计模式。它将请求的发送者和接收者解耦,让多个接收对象都有机会处理这个请求。将这些接收对象连成一条链,请求沿着链传递,直到有对象处理它为止。

核心思想:
请求发送者无需关心请求由谁处理,链上的每个节点都可以选择处理请求或将其传递给下一个节点。


二、应用场景

  • Web 框架中的过滤器链、拦截器链(如 Spring MVC Filter、Servlet Filter)
  • 日志处理链(不同级别日志处理器)
  • 审批流程(如请假、报销等多级审批)
  • 责任分级处理(如异常处理、权限校验)

三、模式结构

  • Handler(抽象处理者):定义处理请求的接口,并持有下一个处理者的引用
  • ConcreteHandler(具体处理者):实现处理逻辑,决定是否处理请求或传递给下一个处理者
  • Client(客户端):创建链并发起请求

四、UML 类图

+------------------+
|    Handler       |<-------------------+
+------------------+                    |
| next: Handler    |                    |
| +setNext()       |                    |
| +handleRequest() |                    |
+------------------+                    |/_\                              ||                               |
+---------------------+         +---------------------+
| ConcreteHandlerA    |         | ConcreteHandlerB    |
+---------------------+         +---------------------+
| +handleRequest()    |         | +handleRequest()    |
+---------------------+         +---------------------+

五、Java 实现代码示例

1. 抽象处理者

public abstract class Handler {protected Handler next;public void setNext(Handler next) {this.next = next;}public abstract void handleRequest(String request);
}

2. 具体处理者

public class AuthHandler extends Handler {@Overridepublic void handleRequest(String request) {if (request.equals("auth")) {System.out.println("AuthHandler 处理了请求");} else if (next != null) {next.handleRequest(request);} else {System.out.println("请求未被处理");}}
}public class LoggingHandler extends Handler {@Overridepublic void handleRequest(String request) {if (request.equals("log")) {System.out.println("LoggingHandler 处理了请求");} else if (next != null) {next.handleRequest(request);} else {System.out.println("请求未被处理");}}
}public class BusinessHandler extends Handler {@Overridepublic void handleRequest(String request) {if (request.equals("business")) {System.out.println("BusinessHandler 处理了请求");} else if (next != null) {next.handleRequest(request);} else {System.out.println("请求未被处理");}}
}

3. 客户端组装链并发起请求

public class Main {public static void main(String[] args) {Handler auth = new AuthHandler();Handler log = new LoggingHandler();Handler business = new BusinessHandler();// 组装链:auth -> log -> businessauth.setNext(log);log.setNext(business);// 发起不同请求auth.handleRequest("auth");      // 输出:AuthHandler 处理了请求auth.handleRequest("log");       // 输出:LoggingHandler 处理了请求auth.handleRequest("business");  // 输出:BusinessHandler 处理了请求auth.handleRequest("other");     // 输出:请求未被处理}
}

六、扩展用法

1. 动态链路组装

链可以在运行时动态组装,灵活应对不同业务场景。

2. 责任链终止

链上的某个节点可以选择终止请求传递(如 return),也可以继续传递。

3. Spring 框架中的应用

Spring Security、Spring MVC Filter、AOP 拦截器等大量用到职责链思想。


七、优缺点

优点:

  • 解耦请求发送者和处理者
  • 动态组合链路,灵活扩展
  • 符合开闭原则,易于添加新处理者

缺点:

  • 可能导致链过长,影响性能
  • 调试和链路追踪相对复杂

八、总结

职责链模式是实现请求处理解耦、灵活扩展的经典方案,广泛应用于中间件、审批流、日志处理等场景。掌握职责链模式有助于编写高内聚、低耦合的代码结构。

建议:

  • 适合多级处理、可扩展的业务场景
  • 注意链路长度和性能监控

如需更多设计模式讲解或源码分析,欢迎留言交流!


文章转载自:

http://2330RTDE.pLjxz.cn
http://7TedHuyY.pLjxz.cn
http://Qr9dTpRm.pLjxz.cn
http://laFNLDyX.pLjxz.cn
http://ouzpnveV.pLjxz.cn
http://0QEVPvON.pLjxz.cn
http://vW9CeZCz.pLjxz.cn
http://x4VhERO2.pLjxz.cn
http://UiYVjYna.pLjxz.cn
http://6zQttQQd.pLjxz.cn
http://CJsmQU7Y.pLjxz.cn
http://iiFiK8PE.pLjxz.cn
http://x5cdda7m.pLjxz.cn
http://1LTE43UE.pLjxz.cn
http://HFC6Qw1I.pLjxz.cn
http://SzkqbtT4.pLjxz.cn
http://V8r1YpHF.pLjxz.cn
http://gdDQ4zDX.pLjxz.cn
http://7T6guPcm.pLjxz.cn
http://yGSliPcg.pLjxz.cn
http://Iee3GCrR.pLjxz.cn
http://ayEGtbZs.pLjxz.cn
http://nEHvXxbv.pLjxz.cn
http://LK0eKvjr.pLjxz.cn
http://IGvYqWgm.pLjxz.cn
http://WeQ9VxR2.pLjxz.cn
http://3w9jSoay.pLjxz.cn
http://uRT6AIdU.pLjxz.cn
http://8jyDTcdr.pLjxz.cn
http://h31ccXHu.pLjxz.cn
http://www.dtcms.com/wzjs/727911.html

相关文章:

  • 长沙建设局网站腾讯网页版wordpress
  • 青岛城阳做网站阿里万网站建设
  • 杭州网站推广与优化做今网站
  • 网站后台改前台不变无极门户网站
  • 网站建设中源码下载重庆北碚网站制作
  • 网站建设公司客户分析网站做一年了没做301
  • 最专业微网站首选公司收费网站怎么做
  • 广州市网站制作黄山旅游必去十大景点
  • 可以做动画的网站yp77731域名查询
  • 外贸婚纱网站王烨重生
  • 东莞贸易公司寮步网站建设价格泰安网站营销推广
  • 网站开发中心做网站代理需要办什么营业执照
  • ps个人网站设计总结易企推
  • php网站怎么做谷粉搜索谷歌搜索
  • 网站页面头部设计说明网站app充值记账凭证怎么做
  • 怎样做金融理财网站营销型网站建设 案例
  • 江门网站建设策划面试网站开发
  • 网站建设架免费发布信息平台有哪些
  • 苏宁易购网站上的营销页面免费下载app软件网站
  • 连云港网站seo重庆广告公司网站建设
  • 做天猫网站设计难吗网站建设平台ui确认书
  • 常州商城网站制作公司北京网站建设 地址海淀
  • 安徽做网站哪家好wordpress 漏洞利用
  • 淘宝商城网上购物网山东seo百度推广
  • 做模板网站价格给你一个网站怎么优化
  • 十大免费模板网站app软件免费模板下载网站
  • 毕业网站建设ppt微信公众官网登录
  • 建材企业网站推广网站备份与恢复
  • asp装修网站源码代理记账公司注册
  • 旅游网站建设论文深圳市政设计院