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

网页链接怎么转换成pdfseo排名关键词点击

网页链接怎么转换成pdf,seo排名关键词点击,天津做网站,红色网站欣赏概念 责任链模式是一种行为设置模式,它的核心思想就是将请求的发送者和接收者进行解耦,每个接收者都可以处理请求。 在责任链模式中将每个接收者连成一个链条,当有请求发送上来的时候会经过每一个接收者。直到消息被处理。 适用场景 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://www.dtcms.com/wzjs/463373.html

相关文章:

  • c 做网站教程百度小说风云榜总榜
  • 当今做那些网站能致富长沙seo公司
  • 湖北省建设工程质量安全监督网站管理方面的培训课程
  • 做的网站怎样适配手机屏幕抖音seo教程
  • 上海做壁画的网站公司企业网站制作
  • 网购软件seo排名优化工具推荐
  • 郑州汉狮哪家做网站好百度热搜seo
  • 做网站用什么数据库百度小说排名
  • 做电商看的网站有哪些手机免费建站系统
  • unity3d做网站重庆seo排名优化费用
  • 西安模板网站建设套餐seo服务公司
  • 网站建设的经费广告优化师
  • 买模板做网站百度搜索资源平台
  • 网站流量多少百度搜索引擎优化的方法
  • 网站淘宝客一般怎么做域名seo站长工具
  • 做app还是做网站高端网站建设
  • 零陵区住房和城乡建设局网站免费学生网页制作成品代码
  • wordpress 测评插件搜狗seo软件
  • 房屋设计装修软件免费appseo日常优化内容是什么
  • 菲律宾bc网站总代理怎么做最新域名解析
  • 菏泽财富中心网站建设创建网站的软件
  • 保定市建设局质监站网站短网址
  • 宝宝投票网站怎么做的网络黄页推广大全
  • 前海网站建设优化设计答案四年级上册语文
  • 丽水做网站企业腾讯网qq网站
  • 上海财务代理记账外包铁岭网站seo
  • node怎么做网站热狗seo顾问
  • 石家庄网站制作北京seo分析
  • 房地产贷款最新政策自动优化app
  • 宜昌网站推广长春网站建设平台