当前位置: 首页 > 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.zqtcl.cn/news/629289/

相关文章:

  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬
  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片
  • 上海网站备案查询建站图标素材
  • 贵州省住房和建设厅网网站网站页面设计报告
  • 做网站友汇网快速建设网站视频教程
  • 物流公司做网站注重什么官网的网站设计公司
  • 网站备案 2016电子商务平台起名
  • 济南建站详情房地产市场分析
  • 南宁品牌网站建设公司中国商业企业网
  • 建设招标网官方网站电脑版做系统简单还是网站简单
  • 网站平台建设总结品牌网页
  • 网站建设如何就接入支付宝企业云平台
  • swoole做网站做网站建设的上市公司有哪些
  • 建设银行江苏官网招聘网站网站设置首页连接分类页的视频教程
  • 通过dede访问自己做的网站高端 建站
  • wordpress自定义json温岭新站seo
  • 网站开发的五个阶段wordpress安装在本地
  • 郴州网站建设有哪些sem优化
  • 在百度怎么申请自己的网站深圳网站建设迅美
  • wordpress 企业网站教程网站开发集成软件
  • 专业的西安免费做网站wordpress手机端插件