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

随州网站建设外包公司上海做网站hlanggroup

随州网站建设外包公司,上海做网站hlanggroup,建门户网站要多少钱,dede企业模板/dedecms蓝色企模板/php网站源码1.背景 当一个请求需要经过多个节点的处理#xff0c;如果不考虑任何模式#xff0c;每个对象要根据是否符合条件来决定是不是自己处理#xff0c;这样就要使用if-else去处理。确定了类似A-B-C-D的处理流程后就不能再修改#xff08;除非修改源代码#xff09…1.背景 当一个请求需要经过多个节点的处理如果不考虑任何模式每个对象要根据是否符合条件来决定是不是自己处理这样就要使用if-else去处理。确定了类似A-B-C-D的处理流程后就不能再修改除非修改源代码导致客户端无法定制处理流程。再者各个节点的处理流程集中在一个类中违反了“单一职责原则”将导致测试和维护难度加大最后无法在运行时动态的增加、修改或者删除处理流程中的处理节点灵活性缺失。 2.定义 使多个对象都有机会处理请求从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求直到有对象能够处理它为止。发送请求的客户端并不知道链上的哪个对象会处理这个请求这使得系统在不影响客户端的情况下动态的组织和分配责任。 纯的责任链模式         一个纯的职责链模式要求一个具体处理者对象只能在两个行为中选择一个要么承担全部责任要么将责任推给下家不允许出现某一个具体处理者对象在承担了一部分或全部责任后又将责任向下传递的情况。而且在纯的职责链模式中要求一个请求必须被某一个处理者对象所接收不能出现某个请求未被任何一个处理者对象处理的情况。 不纯的责任链模式         在一个不纯的职责链模式中允许某个请求被一个具体处理者部分处理后再向下传递或者一个具体处理者处理完某请求后其后继处理者可以继续处理该请求而且一个请求可以最终不被任何处理者对象所接收。 注在实际软件系统中很少能找到纯的责任链模式大多数情况是不纯的责任链模式。 3.组成结构 Client客户端向处理者提交请求对象。Handler抽象处理者定义了一个处理请求的接口设计为抽象类由于不同的具体处理者处理请求的方式不同因此在其中定义了抽象请求处理方法。持有下一个抽象处理者的引用通过该引用处理者可以连成一条链。ConcreteHandler具体处理者抽象处理者的子类可以处理用户请求在具体处理者类中实现了抽象处理者中定义的抽象请求处理方法在处理请求之前需要进行判断看是否有相应的处理权限如果可以处理请求就处理它否则将请求转发给后继者在具体处理者中可以访问链中下一个对象以便请求的转发。 4.示例代码 #include iostream using namespace std;//抽象处理者 class Handler { public:Handler() { m_pNextHandler NULL; }virtual ~Handler() {}//设置下一个处理者void SetNextHandler(Handler* successor) { m_pNextHandler successor; }//处理请求virtual void HandleRequest(int days) 0; protected:Handler* m_pNextHandler; // 后继者 };//具体处理者、主管 class Director :public Handler { public://处理请求virtual void HandleRequest(int days){if (days 1){cout 我是主管有权批准一天假同意了 endl;}else{m_pNextHandler-HandleRequest(days);}} };//具体处理者、经理 class Manager :public Handler { public://处理请求virtual void HandleRequest(int days){if (days 3){cout 我是经理有权批准三以下的假同意了 endl;}else{m_pNextHandler-HandleRequest(days);}} };//具体处理者、老板 class Boss :public Handler { public://处理请求virtual void HandleRequest(int days){if (days 7){cout 我是老板最多让你请7天假同意了 endl;}else{cout 你请的假事假太长了不同意 endl;}} };//场景 int main() {Handler* director new Director;Handler* manager new Manager;Handler* boss new Boss;//设置责任链director-SetNextHandler(manager);manager-SetNextHandler(boss);director-HandleRequest(1);director-HandleRequest(2);director-HandleRequest(5);director-HandleRequest(8);return 0; } /*结果 我是主管有权批准一天假同意了 我是经理有权批准三以下的假同意了 我是老板最多让你请7天假同意了 你请的假事假太长了不同意 请按任意键继续. . .*/引用 https://blog.csdn.net/Golden_Knight/article/details/103363616 C之责任链(Chain of Responsibility)模式_c 责任链模式-CSDN博客
http://www.zqtcl.cn/news/487443/

相关文章:

  • 建设网站的规则营销型网站建设jm3q
  • 深圳建网站价格防水堵漏公司做网站效果怎样
  • 网站建设东莞老铁博客外国炫酷网站网址
  • 笔杆子写作网站牡丹江信息网0453免费发布信息
  • 网站建设介绍推广用语解释seo网站推广
  • 加盟企业网站建设目的速卖通下载app
  • 阳江北京网站建设网页设计与网站建设pdf
  • 做考试平台的网站网站之前没备案
  • 网站维护要多久时间北京网站优化哪家好
  • 单页推广网站模版网站建设一个购买链接
  • 湖南门户网站设计公司免费自媒体网站
  • 美食网站建设项目预算域名解析站长工具
  • 网站如何备案工信局学网站开发首先学哪些基础
  • 什么网站利于优化河北省建设局网站材料备案
  • 自学装修设计从哪里入手沈阳百度seo
  • 做jsp网站用哪些软件下载如何利用网站赚钱
  • 注册网站域名需要什么湘潭公司做网站
  • 一个网站如何优化企业资质查询平台
  • 模板网站为什么做不了优化山西网络网站建设销售公司
  • 建设什么网站可以赚钱设计本网站是用什么做的
  • 荆州市网站建设策划师
  • 苏州中国建设银行招聘信息网站中国企业登记网
  • 网站服务器的重要性新闻软文范例大全
  • 茶叶网站建设一般的风格加大志愿服务网站建设
  • 湖州医院网站建设方案网页游戏知乎
  • 以网站建设为开题报告临海门户网站住房和城乡建设规划局
  • 河南省大型项目建设办公室网站wordpress置顶功能
  • 奉化网站建设三合一网站建设多少钱
  • wordpress文章页怎么调用网站图片wordpress菜单锚点定位
  • 网站建设运营合作合同网站建设英文合同