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

六安电商网站建设价格网站外链有多重要

六安电商网站建设价格,网站外链有多重要,销售网站建设怎么样,怎么接网站开发外包简介 责任链模式是一种行为型设计模式,它允许将请求沿着处理链传递,直到有一个处理器能够处理该请求。这种模式将请求的发送者和接收者解耦,同时提供了更高的灵活性和可扩展性。 描述 责任链模式由多个处理器组成一个处理链,每…

简介

责任链模式是一种行为型设计模式,它允许将请求沿着处理链传递,直到有一个处理器能够处理该请求。这种模式将请求的发送者和接收者解耦,同时提供了更高的灵活性和可扩展性。

描述

责任链模式由多个处理器组成一个处理链,每个处理器负责处理特定类型的请求。当请求到达链中的一个处理器时,它可以选择处理请求,将请求传递给下一个处理器,或者终止请求的传递。

原理

责任链模式包含以下几个关键角色:

  • Handler(处理器):定义了处理请求的接口,并持有下一个处理器的引用。
  • ConcreteHandler(具体处理器):实现了Handler接口,具体处理请求的逻辑。如果能处理请求,则处理;否则将请求传递给下一个处理器。

类图

在这里插入图片描述

示例

以请假审批为例。有一个请假审批系统,由三个处理器组成,分别是部门经理、总经理和人事经理。部门经理能够处理1天以内的请假请求,总经理能够处理3天以内的请假请求,人事经理能够处理7天以内的请假请求。如果请假天数超过7天或者没有合适的处理器处理该请求,则审批不通过。

#include <iostream>// Handler(处理器)
class Approver {
public:Approver* next; // 下一个处理器virtual void processRequest(int days) = 0;
};// ConcreteHandler(具体处理器)
class DepartmentManager : publicver {
public:void processRequest(int days) {if (days <= 1) {std::cout << "部门经理通过审批" << std::endl;} else if (next != nullptr) {next->processRequest(days);} else {std::cout << "审批不通过" << std::endl;}}
};class GeneralManager : public Approver {
public:void processRequest(int days) {if (days <= 3) {std::cout << "总经理通过审批" << std::endl;} else if (next != nullptr) {next->processRequest(days);} else {std::cout << "审批不通过" << std::endl;}}
};class HRManager : public Approver {
public:void processRequest(int days) {if (days <= 7) {std::cout << "人事经理通过审批" << std::endl;} else if (next != nullptr) {next->processRequest(days);} else {std::cout << "审批不通过" << std::endl;}}
};int main() {// 创建处理器对象Approver*Manager = new DepartmentManager();Approver* generalManager = GeneralManager();Approver* hrManager = new HRManager();// 构处理链departmentManager->next = generalManager;generalManager->next = hrManager;// 发起请假申请int days = 5; // 请假5天departmentManager->processRequest(days);// 释放资源delete departmentManager;delete generalManager;delete hrManager;return 0;
}

输出结果

总经理通过审批

解释

在上述示例中,部门经理、总经理和人事经理分别充当具体处理器,实现了 Approver 接口中的 processRequest() 方法。当请假天数超过每个处理器所能处理的范围时,将请求传递给下一个处理器,直到有一个处理器能够处理该请求。

结论

责任链模式将请求的发送者和接收者解耦,使得它们可以独立变化。同时,责任链模式也提供了一种动态组合处理链的方式,增加了灵活性和可扩展性。

应用场景

  • 有多个对象可以处理请求,并且不确定哪个对象能处理请求时,可以使用责任链模式。
  • 需要避免请求发送者与接收者之间的耦合,以及想防止请求的发送者明确地指定接收者时,可以使用责任链模式。
  • 需要动态组合处理链以及简化处理者之间的交互时。

上述示例模拟了一个请假审批系统,具体处理器哈哈哈,空空如也!

http://www.khdw.cn/news/38055.html

相关文章:

  • 正规网站开发流程play商店
  • 关于网站的ppt怎么做合肥seo
  • 做网站汉狮网络东莞网络优化哪家公司好
  • 上海建溧建设集团有限公司网站产品网络营销分析
  • wordpress多站点命名精品成品网站入口
  • 物流网站建设与管理规划书国外域名注册网站
  • 可以让外国人做问卷调查的网站bing收录提交
  • wordpress 购物网站seo搜索优化软件
  • wordpress 客户端管理员密码优化营商环境心得体会
  • 南通网站上百度首页电商怎么注册开店
  • 班级网站开发环境seo优化网站排名
  • 广德网站开发东营网站建设费用
  • 网站多久备份一次网络热词缩写
  • 谷城网站定制百度收录提交入口网址是什么
  • 凡科建站微信小程序sem培训机构
  • 网站建设百度搜索到左边的图长沙网站关键词排名公司
  • iis 编辑网站绑定济南seo
  • 中英文网站怎么做长沙免费网站建站模板
  • 网站的数据库选择seo推广服务哪家好
  • 室内设计网站 知乎营销宣传方案
  • web前端是网站开发么添加友情链接的技巧
  • 中国最大的软件公司seo技术网
  • 免费下载的网页模板企业网站优化哪家好
  • 做网站如何把栏目放到首页企业推广网
  • 郑州房地产网站建设企业培训课程
  • 手机网站前端写法关键词优化快速排名
  • 苏州大型网站建设seo排名点击 seo查询
  • 东莞建网站公司哪个好网站推广软文
  • 鹤壁做网站的公司在线seo超级外链工具
  • 网页制作模板简易使用 ahrefs 进行 seo 分析