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

外贸和网站制作python如何做自己的网站

外贸和网站制作,python如何做自己的网站,正规网站建设商家,库存网站建设公司责任链模式#xff08;Chain of Responsibility Pattern#xff09; 为了解决什么问题#xff1f; 责任链模式的目的是为了将请求的发送者和接收者解耦。它允许多个处理器都有机会处理请求#xff0c;将这些处理器连接成一条链#xff0c;并沿着这条链传递请求#xff…责任链模式Chain of Responsibility Pattern 为了解决什么问题 责任链模式的目的是为了将请求的发送者和接收者解耦。它允许多个处理器都有机会处理请求将这些处理器连接成一条链并沿着这条链传递请求直到有一个处理器处理它为止。 通过这种方式发送者不需要知道谁是请求的接收者同时可以动态地改变链中的成员。 怎么用代码实现 下面是Java代码示例先定义抽象处理器以及具体的处理器实现 /*** 抽象处理器*/ abstract class Handler {protected Handler successor;public void setSuccessor(Handler successor) {this.successor successor;}public abstract void handleRequest(String request); }/*** 处理器A*/ class ConcreteHandlerA extends Handler {Overridepublic void handleRequest(String request) {if (A.equals(request)) {System.out.println(ConcreteHandlerA handled the request.);} else if (successor ! null) {successor.handleRequest(request);}} }/*** 处理器B*/ class ConcreteHandlerB extends Handler {Overridepublic void handleRequest(String request) {if (B.equals(request)) {System.out.println(ConcreteHandlerB handled the request.);} else if (successor ! null) {successor.handleRequest(request);}} }然后在调用前编排好责任链再处理具体的请求 /*** 客户端代码*/ public class Client {public static void main(String[] args) {// 设置职责链上的处理对象Handler handlerA new ConcreteHandlerA();Handler handlerB new ConcreteHandlerB();handlerA.setSuccessor(handlerB);// 请求处理handlerA.handleRequest(A);handlerA.handleRequest(B);} }为什么可以解决这个问题 责任链模式通过构建一条链来组织处理器请求在链上传递直到被处理。 因为请求发送者不需要知道具体的处理器所以该模式降低了请求发送者与处理器之间的耦合度。同时责任链模式提供了一种简单的方式来增加新的处理器或者重新排序现有处理器提高了系统的灵活性和可扩展性。 责任链模式适用于哪些场景 多个对象可以处理同一个请求时可以使用责任链模式客户端只需将请求发送到链上即可无需关心请求的具体处理器。 动态指定处理对象集合当在运行时需要改变处理请求的对象或者不事先指定接收者时。 实施隐式接收链当处理一个请求的处理不必显式地设定而是每个处理器自己选择是否将请求传递给下一个处理器。 不明确特定请求的处理器当你希望请求不被特定接收者直接处理而是有多个对象中的一个来处理时。 多个对象决定如何处理请求当多个对象可以处理请求且具体处理器是在运行时自动确定时如基于运行时条件动态决定处理器。 广播通信当需要向所有的对象发出一个请求而又不想显式指定接收者时责任链可作为一种广播机制。 责任链模式在开源代码的实际应用案例有 Java Servlet FiltersServlet过滤器就是一种责任链模式的实现。每个过滤器可以决定是完成对请求的处理还是将请求传递给责任链中的下一过滤器。 Logback中的拦截器链在Logback这个日志框架中日志事件可以经过多个拦截器进行处理每个拦截器可以对事件进行加工或者阻止事件继续传递。 Spring Security中的过滤器链Spring Security使用责任链模式来处理安全过滤器请求在通过多个安全过滤器链前行进每个过滤器执行特定的安全检查。 Apache Camel路由器Apache Camel使用责任链模式构建复杂的消息路由处理链请求消息通过一系列处理器进行处理每个处理器完成特定功能后可能将消息传递给下一个处理器。 责任链模式有哪些优点和缺点 责任链模式提供一种将请求的发送者和接收者进行解耦的模式。它通过给多个对象处理请求的机会增强了系统的灵活性有助于代码的维护和扩展。 然而责任链模式可能会导致请求不被处理如果链没有被正确配置以及性能问题如果链较长或处理比较复杂。 因此责任链应当适用于预期请求会在链中被处理并且处理器数量合理的情况下使用。 优点 降低耦合度它解耦了请求发送者和N个接收者之间的复杂关系使得链中的对象不需要知道链的结构。因此增加或删除处理器或者改变处理器顺序变得更加容易。 增强给定请求的处理器的灵活性通过改变链内成员或者重新重新排序可以动态地改变处理器间的关系。 增加新的请求处理类方便扩展新的处理类不影响其他的类符合开放-封闭原则。 缺点 不能保证请求一定被接收一个请求可能最终未被任何处理器对象处理客户端也不会得到明确的反馈。 对链中请求处理器的遍历如果链很长请求的处理可能涉及多个处理对象会增加处理延迟并影响性能。 维护链可能需要额外开销链的构建与维护可能需要消耗资源特别是在动态改变链结构时。 责任链模式是一种强大的行为设计模式通过解耦发送者和接收者它提供了请求处理的灵活性和扩展性。然而设计责任链时应当注意其可能带来的性能考量和处理的不确定性适当的使用场景和良好的设计是确保该模式有效运用的关键。 ———————————这是分割线——————————— 欢迎添加博主vx深入交流
http://www.pierceye.com/news/653099/

相关文章:

  • 网站建设有什么需求分析现在网站都是拿什么软件做的
  • 网站建设需求分析报告撰写阿里云建设网站流程
  • 网站导航栏设计要求seo搜索引擎的优化
  • 杭州做商务网站全屋定制自己设计
  • 汉中定制网站建设公司南昌公司注册
  • 商务网站建设流程步骤小型公司注册资金写多少合适
  • 台州公司网站外包自己做网站运营
  • 聚名网站专业团队p图
  • 网站推广排名收费徐家汇网站建设
  • 做app软件大概多少钱宁波seo优化项目
  • 网站建设土豆视频教程最专业微网站首选公司
  • 合肥做检查军大网站家装公司名称
  • 网站搜索怎么做的苏州网站建设介绍
  • 免费微网站建设地图标注收费属于违法行为吗
  • 网站开发工程师php岗位职责企业网站案例展示
  • 青岛网站营销推广网站工作室设计
  • 网站可以增加关键词吗做网站也是一门技术
  • 长沙 外贸网站建设公司排名传统文化传播公司网站建设
  • 站群seo技巧1 企业网站的一般内容是什么
  • 广东省城乡建设厅投诉网站首页wordpress posts
  • 泰安建设厅网站怎样给公司做一个网站
  • 扶贫网站开发的目的是什么2023年舆情分析报告
  • 河南建设银行处理违章网站网站做支付需要准备什么东西吗
  • 网站设置不能通过链接访问比较好的源码网站
  • 深圳做网站联雅空间业务建设网站
  • 合肥企业网站设计制作莱芜杂谈 莱芜话题
  • 大圣网站建设为什么不推荐大家去外包公司
  • 做网站手机版wordpress如何换成经典编辑器
  • 建设网站的知识企业做网站设计的
  • 西安网站排名分析软文营销把什么放在第一位