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

网站优化标签广东专业网站开发

网站优化标签,广东专业网站开发,wordpress 列表页输出,营销型公司官网建设一、说明 旨在将请求沿着处理者链进行发送。收到请求后#xff0c;每个处理者均可对请求进行处理#xff0c;或将其传递给链上的下个处理者。 (一) 解决问题 将请求的发送者和接受者解耦#xff0c;并使请求随着处理对象链传递#xff0c;优化系统内部处理逻辑 (二) 使… 一、说明 旨在将请求沿着处理者链进行发送。收到请求后每个处理者均可对请求进行处理或将其传递给链上的下个处理者。 (一) 解决问题 将请求的发送者和接受者解耦并使请求随着处理对象链传递优化系统内部处理逻辑 (二) 使用场景 当程序需要使用不同方式处理不同种类请求 而且请求类型和顺序预先未知时当必须按顺序执行多个处理者时当一个对象需要在运行时动态地确定其处理对象时 二、结构 处理者Handler声明了所有具体处理者的通用接口。该接口通常仅包含单个方法用于请求处理但有时其还会包含一个设置链上下个处理者的方法。基础处理者BaseHandler是一个可选的类你可以将所有处理者共用的样本代码放置在其中。通常情况下该类中定义了一个保存对于下个处理者引用的成员变量。客户端可通过将处理者传递给上个处理者的构造函数或设定方法来创建链。该类还可以实现默认的处理行为确定下个处理者存在后再将请求传递给它。具体处理者ConcreteHandlers包含处理请求的实际代码。每个处理者接收到请求后都必须决定是否进行处理以及是否沿着链传递请求。处理者通常是独立且不可变的需要通过构造函数一次性地获得所有必要地数据。客户端Client可根据程序逻辑一次性或者动态地生成链。值得注意的是请求可发送给链上的任意一个处理者而非必须是第一个处理者。 三、伪代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- __doc__ 责任链模式例一个产品生产流水线需要三个环节生产、质检、包装。每个环节只能由对应的工人处理如果无法处理则传递给下一个环节处理。 from abc import ABC, abstractmethodclass Worker(ABC):抽象处理类abstractmethoddef handle_product(self, product):passabstractmethoddef set_next_worker(self, worker):passclass Producer(Worker):具体处理类def __init__(self):self.next_worker Nonedef set_next_worker(self, worker):self.next_worker workerdef handle_product(self, product):if product.get(process) produce:print(生产商正在生产产品)elif self.next_worker:self.next_worker.handle_product(product)class Inspector(Worker):具体处理类def __init__(self):self.next_worker Nonedef set_next_worker(self, worker):self.next_worker workerdef handle_product(self, product):if product.get(process) inspect:print(检验员正在检验产品)elif self.next_worker:self.next_worker.handle_product(product)class Packer(Worker):具体处理类def __init__(self):self.next_worker Nonedef set_next_worker(self, worker):self.next_worker workerdef handle_product(self, product):if product.get(process) pack:print(包装商正在包装产品)elif self.next_worker:self.next_worker.handle_product(product)if __name__ __main__:生产商正在生产产品检验员正在检验产品包装商正在包装产品producer Producer()inspector Inspector()packer Packer()producer.set_next_worker(inspector)inspector.set_next_worker(packer)product1 {process: produce}product2 {process: inspect}product3 {process: pack}producer.handle_product(product1)producer.handle_product(product2)producer.handle_product(product3)四、优缺点 优点 降低耦合度将请求的发送者和接收者解耦每个处理对象只需关注自己的处理逻辑不需要知道整个处理链的结构降低了对象之间的耦合度。灵活性允许动态地添加、移除或修改处理对象可以根据需要调整处理链的结构提高了系统的灵活性。简化对象之间的交互将处理对象的关系组织成一条链简化了对象之间的交互使得系统更易于理解和维护。可扩展性允许动态地添加新的处理对象因此可以很容易地扩展系统的功能满足不断变化的需求。 缺点 性能问题责任链模式可能会导致请求在整个处理链上传递直到有一个处理对象处理请求为止如果处理链过长或者处理对象之间的处理时间不均匀可能会影响系统的性能。调试困难责任链模式将请求的处理分散在多个处理对象中可能会导致调试时比较困难特别是处理链比较长的情况下。 【Python笔记】设计模式-CSDN博客
http://www.pierceye.com/news/629289/

相关文章:

  • 做网站全部乱码怎么办教学资源网站建设方案
  • 自己做的网站怎么添加文档做淘宝详情的网站
  • 安全认证的机票网站成就怎么做山东省住房和城乡建设厅政务服务
  • 海口网站建设方案咨询信息流优化师面试常见问题
  • 网上课程网站wordpress自定义页面分页
  • 自建站成本深圳网站建设营销服务平台
  • 模仿网站怎么做网站编辑建设
  • 湖南做网站 磐石网络引领免费网上开店
  • wordpress内容做成目录seo排名分析
  • 大型网站 网站建设做网站赔了8万
  • python官方网站建设网站要什么
  • 青海 网站开发 图灵如何创建自己的网页
  • 建设银行网站怎么登陆不做网站首页的尺寸
  • 谁能给我一个网站谢谢dedecms收费怎么办
  • dede 网站地图 模块青岛做网站服务商
  • 征信网站开发扬州市建设局网站
  • 教育网站建设 飞沐软件定制公司值得去吗
  • 金耀网站建设网站制作景观建筑人才网
  • 仿《爱美眉》网站 dede门户网站的主要功能
  • 外发加工网站深圳如何优化
  • 做设计在哪个网站上找高清图片大全网站建设风险分析
  • 做兼职哪个网站好哪些网站做免费送东西的广告6
  • 网站建设战略互动模板wordpress
  • 三原网站建设网易企业邮箱登录v
  • 为网站营销好处wordpress tar.xz
  • wordpress建站比较淘宝客网站怎么建设
  • 网站结构有哪些安徽省建设工程信息网官方网站
  • 如何查看网站是否备案直播网站怎么做啊
  • 广西做网站的公司投资融资理财网站模板
  • 做网站的颜色游戏推广员拉人犯法吗