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

六安电商网站建设哪家好绍兴seo网站管理

六安电商网站建设哪家好,绍兴seo网站管理,网站建设市场前景,兰州seo排名优化服务简介 责任链模式是一种行为型设计模式,它允许将请求沿着处理链传递,直到有一个处理器能够处理该请求。这种模式将请求的发送者和接收者解耦,同时提供了更高的灵活性和可扩展性。 描述 责任链模式由多个处理器组成一个处理链,每…

简介

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

描述

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

原理

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

  • 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.ritt.cn/news/28059.html

相关文章:

  • 做购物网站需要什么服务器国外seo大神
  • 委托广告公司做的网站违法了企业网站的基本功能
  • 做网站免责声明李飞seo
  • 小网站建设公司排名青岛模板建站
  • 株洲网站优化友情链接买卖
  • 有哪些做分析图用的网站米拓建站
  • 做面食的网站真实的网站制作
  • 深圳展览设计网站建设淘宝搜索关键词技巧
  • 交友网站建设新的营销模式有哪些
  • 网页视觉设计是什么seo优化技术是什么
  • 如何避免网站被攻击google广告投放
  • 建网站模板杭州关键词优化服务
  • 滨湖区建设局官方网站企业网站推广可以选择哪些方法
  • 成都网站建设推广百度推广怎么操作
  • 常州网站建设运营山西网络营销seo
  • 河南手机网站建设公司seo课程
  • 自己做的影视网站买会员违法吗seo培训价格
  • 知名网站建设企业软件开发公司排名
  • 做网站蓝色和什么颜色汕头网站制作设计
  • 实验中心网站建设品牌宣传策略
  • 二手书网站开发的必要性今天新闻联播
  • 廊坊网站制作费用中山seo
  • 北京创意网站建设百度seo价格查询
  • 新网站如何做网站优化seo指的是搜索引擎
  • 动力无限西安网站建设cpu游戏优化加速软件
  • 没有公司怎么做网站百度一下电脑版首页
  • xp怎么做网站武汉关键词seo排名
  • 开发平台软件要多少钱网络优化大师手机版
  • 可以做公众号封面图的网站营销推广48个方法
  • 东莞网站建设图表如何推广网站方法