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

公司的网站费怎样做会计分录清远新闻最新消息

公司的网站费怎样做会计分录,清远新闻最新消息,凡科网站怎么做授权查询,做国外批发网站哪个好责任链模式定义 C中的责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将请求沿着处理对象的链传递来避免把请求发送者与接收者耦合在一起。 责任链模式的主要思想是,通过将多个处理对象组成一条链&…

责任链模式定义

C++中的责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将请求沿着处理对象的链传递来避免把请求发送者与接收者耦合在一起。
责任链模式的主要思想是,通过将多个处理对象组成一条链,每个处理对象都有机会处理请求。如果某个对象不能处理请求,则将请求传递给下一个对象依次处理,直到请求被处理为止。
责任链模式通常涉及以下几个角色:
1.请求(request):封装了需要进行处理的信息,以便于在责任链上传递。
2.抽象处理者(Handler):定义了处理请求的接口,并维护一个指向下一个处理者的引用,以便于在责任链中传递请求。
3.具体处理者(Concrete Handler):实现了处理请求的方法,并检查是否有足够的权限或能力来处理请求。如果可以处理请求,则进行处理并返回结果;否则将请求传递给下一个处理者。
使用责任链模式的主要目的是让不同的处理对象负责不同的处理逻辑,并将这些对象串成一条链。这样一来,我们可以动态地改变请求的处理顺序或重新配置责任链,而不影响客户端代码。

实例代码

OA系统实例,分别有普通员工,主管,CEO,boss,处理的请求有请假,涨薪, 辞职;普通员工提交请求,主管可以批准请假,CEO可以批准请假,涨薪,boss可以批准请假,涨薪,辞职。
主管处理不了的递交给CEO,CEO处理不了的递交给boss。

#include <iostream>
using namespace std;enum class RequestType :char {qingjia,zhangxin,cizhi};
//抽象管理者类,manager,ceo,boss都继承这个类
class AbstractManager
{
public:void setNext(AbstractManager* next) //指向下一个管理者{m_next = next;}virtual void  handleRequest(RequestType type) = 0; //每个管理者都要重写这个处理请求的函数virtual ~AbstractManager() {}
protected:AbstractManager* m_next = nullptr; //子类可以继承
};//manager主管
class Manager : public AbstractManager
{
public:void  handleRequest(RequestType type)  //每个管理者都要重写这个处理请求的函数{switch (type){case RequestType::qingjia:cout << "请假:同意" << endl;break;case RequestType::zhangxin:cout << "涨薪:我要请示CEO" << endl;m_next->handleRequest(type); //m_next是下个界别的对象指针break;case RequestType::cizhi:cout << "辞职:我要请示上级" << endl;m_next->handleRequest(type); //m_next是下个界别的对象指针break;default:break;}}
};//CEO
class CEO : public AbstractManager
{
public:void  handleRequest(RequestType type)  //每个管理者都要重写这个处理请求的函数{switch (type){case RequestType::qingjia:cout << "请假:同意" << endl;break;case RequestType::zhangxin:cout << "再等等吧" << endl;break;case RequestType::cizhi:cout << "辞职:我要请示上级" << endl;m_next->handleRequest(type); //m_next是下个界别的对象指针break;default:break;}}
};//boss
class BOSS : public AbstractManager
{
public:void  handleRequest(RequestType type)  //每个管理者都要重写这个处理请求的函数{switch (type){case RequestType::qingjia:cout << "请假:再忍忍吧" << endl;break;case RequestType::zhangxin:cout << "再等等吧" << endl;break;case RequestType::cizhi:cout << "辞职:再缓一缓吧" << endl;break;default:break;}}
};//请假人的类
class YG
{
public:void request(RequestType type, AbstractManager* manager){manager->handleRequest(type);}
};int main()
{Manager* manager = new Manager;CEO* ceo = new CEO;BOSS* boss = new BOSS;manager->setNext(ceo);ceo->setNext(boss);YG* yg = new YG;yg->request(RequestType::qingjia, manager);yg->request(RequestType::zhangxin, manager);yg->request(RequestType::cizhi, manager);yg->request(RequestType::qingjia, ceo);yg->request(RequestType::zhangxin, ceo);yg->request(RequestType::cizhi, ceo);yg->request(RequestType::qingjia, boss);yg->request(RequestType::zhangxin, boss);yg->request(RequestType::cizhi, boss);return 0;}
http://www.dinnco.com/news/41460.html

相关文章:

  • 手机网站费用推广网站有哪些
  • 在那里能找到网站福州seo网络推广
  • 做网站 教程广州网站推广
  • 云南做网站需要多少钱网站推广方法
  • 做窗帘的厂家网站今日头条网页版入口
  • 怎么看网站用什么平台做的seo网站诊断报告
  • win7做本地网站微营销推广平台有哪些
  • 建网站pc版网络营销有哪些特点
  • 浙江网站制作互联网优化
  • 高埗网站仿做阿里指数查询
  • wordpress删除中文seo优化的主要任务
  • php做的网站模版安卓手机优化神器
  • wordpress wp-o-matic泉州网站seo外包公司
  • wordpress关停网站网络营销主要是学什么的
  • 制作移动网站公司在百度上做广告推广要多少钱
  • 宝塔做网站443链接餐饮营销策划与运营
  • 个人备案做运营网站正规seo大概多少钱
  • 阳春新农村建设网站网站seo源码
  • 上传了网站标志 功能链接如何开发软件app
  • 选择荣胜网络宁波网站建设新媒体营销推广方案
  • 安徽水安建设集团网站每日新闻简报
  • 交友视频网站建设市场营销毕业后做什么工作
  • 关于信用体系建设的网站app拉新接单平台
  • 官网的网站建设seo是指什么岗位
  • 什么是自助网站西安网络推广优化培训
  • 网站搜索排优化怎么做数据分析报告
  • 高端网站建设创新营业推广方式
  • 商务网站策划方案怎么做好网站搜索引擎优化
  • wordpress做物流网站山西网站seo
  • 株洲网站建设开发设计郑州短视频代运营