职责链模式
来源:互联网 发布:薛家 知乎 编辑:程序博客网 时间:2024/05/01 18:53
#include <iostream>#include <string>using namespace std;class Handler{public:Handler() {}Handler(const string& strName) : m_strName(strName) {}void setHandler(Handler* pobjHandler){m_pobjHandler = pobjHandler;}virtual void request(const int& request) = 0;protected:Handler* m_pobjHandler;string m_strName;};class ConcreteHandlerOne : public Handler{public:ConcreteHandlerOne() {}ConcreteHandlerOne(const string& strName) : Handler(strName) {}virtual void request(const int& request) override{if (request < 100){cout << m_strName << " handle request less than 100" << endl;}else{m_pobjHandler->request(request);}}};class ConcreteHandlerTwo : public Handler{public:ConcreteHandlerTwo() {}ConcreteHandlerTwo(const string& strName) : Handler(strName) {}virtual void request(const int& request) override{cout << m_strName << " handle request more than 100" << endl;}};int main(){Handler* pobjHandlerOne = new ConcreteHandlerOne("行");Handler* pobjHandlerTwo = new ConcreteHandlerTwo("彳亍");pobjHandlerOne->setHandler(pobjHandlerTwo);pobjHandlerOne->request(200);return 0;}总结:有点类似于链表,只要设置好后继,会把请求找到一个合适的处理。脑洞开一下,可以照着链表找前驱,职责链也可以做到。
0 0
- 职责链设计模式
- 职责链模式
- 职责链模式
- 职责链模式
- ChainOfResponsibility(职责链)模式
- 职责链模式ChainOfResponsibility
- 职责链模式
- 职责链模式 ResponsibilityChainPattern
- 【设计模式】职责链
- 职责链模式
- java职责链模式
- 职责链模式
- 职责链模式
- 职责链模式(python)
- 职责链模式
- 职责链模式
- 职责链模式
- 职责链模式
- 归并排序
- 黑大助手后端和Android端开发笔记
- GOF23设计模式
- java day02 for循环的进一步理解
- Java 系统高并发解决方案(转载)
- 职责链模式
- 客户端协议处理框架
- Plist 简述
- 第一章
- 老子就是不买房,我为90后代言
- 屏幕适配方案
- 新的开始
- 浏览器兼容处理(HTML条件注释、CSSHack和JS识别)
- 倒计时效果