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

国内永久免费crm系统网站推荐重庆江津做网站

国内永久免费crm系统网站推荐,重庆江津做网站,鞍山信息港家讯房产,建设银行黄陂支行网站本文章属于专栏- 概述 - 《设计模式(极简c版)》-CSDN博客 模式说明 方案: 责任链模式将请求的发送者和接收者解耦,构成一个链条,并由多个对象对请求进行处理,直到找到合适的处理者为止。优点: …

        本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客


模式说明

  • 方案: 责任链模式将请求的发送者和接收者解耦,构成一个链条,并由多个对象对请求进行处理,直到找到合适的处理者为止。
  • 优点: 实现了请求发送者和接收者的解耦,灵活性高,易于扩展,每个处理者只需关注自己的处理逻辑。
  • 缺点: 会影响性能,且不易维护

本质思想:责任链模式的本质思想是将多个处理者组成一条链,依次尝试处理请求,直到找到能够处理该请求的对象为止。

实践建议不建议使用。该模式会降低性能,且分离的处理逻辑分支,会降低代码可读性。当遇到逻辑复杂,判断分支繁琐的逻辑,我们要做的是解耦,而不是把代码简单地拆开。

示例代码

#include <iostream>// 请求类
class Request {
public:int value;Request(int v) : value(v) {}
};// 处理者接口
class Handler {
protected:Handler* successor;public:Handler() : successor(nullptr) {}void setSuccessor(Handler* handler) {successor = handler;}virtual void handleRequest(const Request& req) const = 0;
};// 具体处理者A
class ConcreteHandlerA : public Handler {
public:void handleRequest(const Request& req) const override {if (req.value < 10) {std::cout << "ConcreteHandlerA handles the request." << std::endl;} else if (successor != nullptr) {successor->handleRequest(req);}}
};// 具体处理者B
class ConcreteHandlerB : public Handler {
public:void handleRequest(const Request& req) const override {if (req.value >= 10 && req.value < 20) {std::cout << "ConcreteHandlerB handles the request." << std::endl;} else if (successor != nullptr) {successor->handleRequest(req);}}
};// 客户端代码
int main() {// 构建责任链Handler* handlerA = new ConcreteHandlerA();Handler* handlerB = new ConcreteHandlerB();handlerA->setSuccessor(handlerB);// 发送请求Request req1(5);Request req2(15);handlerA->handleRequest(req1); // 输出:ConcreteHandlerA handles the request.handlerA->handleRequest(req2); // 输出:ConcreteHandlerB handles the request.// 释放内存delete handlerA;delete handlerB;return 0;
}

http://www.yayakq.cn/news/867572/

相关文章:

  • 建网站挣钱 优帮云北京做网站找谁
  • 电商网站 网站服务内容南通网站建设规划书
  • 高校文明建设网站山东网站seo设计
  • 贵阳两学一做网站苏州公司网站建站
  • 网站一般需要怎么推广河南省级建设主管部门网站
  • 江苏建设厅网站长沙网页设计培训机构
  • 麦积区城乡建设局网站广东网站建设哪家有
  • 开封市做网站的公司lnmp快速安装wordpress
  • 网站联系我们页面高新企业建设网站价格
  • 有哪些网站可以做电子邀请函小说 wordpress
  • 重庆网站建设培训WordPress的数据库在哪
  • 乐安网站建设织梦网站开发语言
  • 本溪做网站的沧州网络营销推广方案
  • 网站后台打开慢贵州网络营销公司
  • 做网站好还是做安卓app好网站集约化建设意见和建议
  • 网站建设方面的珠宝网站设计文案
  • 国家电网交流建设分公司网站如何使用云服务建设网站
  • 现在为什么网站都打不开了怎么办啊大连在哪儿地图
  • 完整网站开发步骤网站建设公司落寞
  • 网站源码下载 app国外开源商城系统
  • 优质企业网站推广提供网站建设找哪家公司好
  • 北京建网站 优帮云个人网页设计论文免费
  • 网站关键字推广沈阳发布最新通告
  • 重庆网站seo设计可以设计制作网页的软件
  • 有没有专门做衣服的网站自己做菠菜网站
  • 大同网站建设制作高校工会网站建设
  • 荆门做网站朔州市2018年建设工程网站
  • 12123互联网服务平台南昌seo网站
  • js实现网站简体转繁体江门建站公司
  • 企业展示网站如何建成都房产信息网官网查询系统