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

绍兴网站推广排名wordpress 淘宝客 插件

绍兴网站推广排名,wordpress 淘宝客 插件,住房和城乡建设部令第37号,哪个网站可以用MC皮肤做图片概念 责任链模式是一种行为设置模式,它的核心思想就是将请求的发送者和接收者进行解耦,每个接收者都可以处理请求。 在责任链模式中将每个接收者连成一个链条,当有请求发送上来的时候会经过每一个接收者。直到消息被处理。 适用场景 1、当…

概念

责任链模式是一种行为设置模式,它的核心思想就是将请求的发送者和接收者进行解耦,每个接收者都可以处理请求。 在责任链模式中将每个接收者连成一个链条,当有请求发送上来的时候会经过每一个接收者。直到消息被处理。

适用场景

1、当程序中使用不同的方式处理各种不同的请求的时候,而请求的顺序是未知的,这个时候就可以使用责任链模式。

2、当请求必须按照一定的顺序进行处理的时候,就可以使用责任链模式。

3、如果所需要接收者及其顺序在运行时需要改变的时候,就需要使用到责任链模式。

创建方式

1、创建接收者接口,在接口中声明处理函数、一个自己对象的引用、一个设置下一个接收者的函数。

2、创建实际的接收者,实现继承接收者接口,在实际的处理函数中判断当前请求能否处理,如果如果无法处理,就想请求传递给下一个处理者。

3、在客户端使用的时候首先需要创建所有的实际处理者对象,并将所有的处理者对象通过设置的方式将其全部连接起来。传入需要处理的请求。

类关系图

在这里插入图片描述

示例代码

#include "ZeRenLianMoShi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";RecipientBase* recipient = new CompentRecipient("处理1");RecipientBase* recipient1 = new CompentRecipient1("处理2");recipient1->setNextRecipient(recipient);RecipientBase* recipient2 = new CompentRecipient2("处理3");recipient2->setNextRecipient(recipient1);recipient2->handle("处理1");recipient2->handle("处理2");recipient2->handle("处理3");
}
#pragma once
#include <iostream>
#include <string>using namespace std;//接收者接口
class RecipientBase
{
public:RecipientBase() {}~RecipientBase() {}virtual void setNextRecipient(RecipientBase* rec) {}virtual void handle(string cmd) {}RecipientBase* m_rec = nullptr;
};//具体接收者 CompentRecipient
class CompentRecipient : public RecipientBase {
public:CompentRecipient(string cmd) {m_cmd = cmd;};~CompentRecipient() {}void setNextRecipient(RecipientBase* rec) {m_rec = rec;}void handle(string cmd) {if (cmd == m_cmd) {cout << "CompentRecipient 处理函数处理对象" << endl;}else {if (m_rec) {m_rec->handle(cmd);}}}
private:string m_cmd;
};//具体接收者 CompentRecipient1
class CompentRecipient1 : public RecipientBase {
public:CompentRecipient1(string cmd) {m_cmd = cmd;};~CompentRecipient1() {}void setNextRecipient(RecipientBase* rec) {m_rec = rec;}void handle(string cmd) {if (cmd == m_cmd) {cout << "CompentRecipient1 处理函数处理对象" << endl;}else {if (m_rec) {m_rec->handle(cmd);}}}
private:string m_cmd;
};//具体接收者 CompentRecipient2
class CompentRecipient2 : public RecipientBase {
public:CompentRecipient2(string cmd) {m_cmd = cmd;};~CompentRecipient2() {}void setNextRecipient(RecipientBase* rec) {m_rec = rec;}void handle(string cmd) {if (cmd == m_cmd) {cout << "CompentRecipient2 处理函数处理对象" << endl;}else {m_rec->handle(cmd);}}
private:string m_cmd;
};
欢迎东哥来到设计模式的世界!
CompentRecipient 处理函数处理对象
CompentRecipient1 处理函数处理对象
CompentRecipient2 处理函数处理对象

文章转载自:

http://w6a6QvCP.jhxtm.cn
http://Wp09kdei.jhxtm.cn
http://W9dKKjcy.jhxtm.cn
http://ZM6vCOkS.jhxtm.cn
http://KtC2MJXx.jhxtm.cn
http://9jVaeZUH.jhxtm.cn
http://0XhDsD4Q.jhxtm.cn
http://FjUe6Lku.jhxtm.cn
http://SKQoPsl6.jhxtm.cn
http://3DNHwPUp.jhxtm.cn
http://CdsnMmZW.jhxtm.cn
http://khIX09SC.jhxtm.cn
http://Q1SXmqtR.jhxtm.cn
http://2kMCub3C.jhxtm.cn
http://ADkr6gb3.jhxtm.cn
http://fSjekVBy.jhxtm.cn
http://i8XV2ZmW.jhxtm.cn
http://BbFcWyjp.jhxtm.cn
http://UAb1gSdF.jhxtm.cn
http://E56cEEWu.jhxtm.cn
http://TkircTus.jhxtm.cn
http://pmkYihkQ.jhxtm.cn
http://Kr8gjYnv.jhxtm.cn
http://IYbEWoGv.jhxtm.cn
http://kC8uSCVQ.jhxtm.cn
http://YUpl5UXf.jhxtm.cn
http://f4eQOhyG.jhxtm.cn
http://UmXgPGoP.jhxtm.cn
http://fB5seX9Y.jhxtm.cn
http://O7le6jdn.jhxtm.cn
http://www.dtcms.com/wzjs/618483.html

相关文章:

  • 重庆企业网站建设哪家好wordpress 1.0
  • 做企业网站的前景武陟网站建设
  • 建设银网站.net空网站做九九乘法表
  • 济南天桥区网站建设濮阳住房和城乡建设部网站
  • 网站建设的市场定位分析腾讯云服务器网站域名备案
  • 开发板在null不可用整站优化服务
  • 做网站设计的提成点是多少中山外包网站设计
  • 山东网站建设流程wordpress编辑页面没用
  • 绵阳医院网站建设网站流量变现
  • 如何做电影网站资源深圳制作网站服务
  • 金华住房和城乡建设部网站唐山建设网站
  • 简单网站html模板下载地址活动营销推广方案
  • 东莞网站建设提供商上海服装集团网站建设
  • 网站干什么的wordpress店招部分如何设置
  • 网站逻辑结构哈尔滨营销型网站建设公司
  • 网站数据库文件名正邦网站建设 优帮云
  • 东莞做网站推广公司长春网站建设工作
  • 前端素材网站网站建设规模与类别
  • 江阴市住房和城乡建设局网站wordpress文件上传到那个文件
  • 下载爱城市网app官方网站wordpress个人介绍主题
  • 网站设置会员湖南省交通建设质量监督站网站
  • 北京网站建设著名公司模板图片 背景
  • 网站建设培训 上海移动插件WordPress
  • 邢台网站建设费用wordpress设置段落
  • 简单个人博客模板网站wordpress php设置
  • 怎样加快网站收录wordpress目录设置
  • 手机看网站网站建设广州天河
  • 怎么把自己电脑建设网站一起做英语作业网站
  • 字幕如何做模板下载网站网站模板文件在哪里下载
  • 中国大型网站好用的wordpress插件