设计模式之责任链模式
2016-03-29 10:21
405 查看
#include <iostream> using namespace std; class Handler { public: virtual void HandleRequest() = 0; void setNextHandler(Handler *nextHandler) { this->nextHandler=nextHandler; } protected: Handler *nextHandler; }; class ConcreteHanderA:public Handler { public: virtual void HandleRequest() { cout<<"ConcreteHanderA HandleRequest "<<endl; if(nextHandler != NULL) { nextHandler->HandleRequest(); } } }; class ConcreteHanderB:public Handler { public: virtual void HandleRequest() { cout<<"ConcreteHanderB HandleRequest "<<endl; if(nextHandler != NULL) { nextHandler->HandleRequest(); } } }; class ConcreteHanderC:public Handler { public: virtual void HandleRequest() { cout<<"ConcreteHanderC HandleRequest "<<endl; if(nextHandler != NULL) { nextHandler->HandleRequest(); } } }; int main() { Handler * handlerA = new ConcreteHanderA(); Handler * handlerB = new ConcreteHanderB(); Handler * handlerC = new ConcreteHanderC(); handlerA->setNextHandler(handlerC); handlerC->setNextHandler(handlerB); handlerA->HandleRequest(); return 0; }
相关文章推荐
- hibernate实现表联查并获取某个字段的最大值(随笔)
- TourEx旅游网站管理系统短信接口修改
- 购物商城shopping连载(3)
- <context:component-scan>使用说明
- java基础知识汇总6(html篇)
- 根据 button 的tag值将button排序
- ORM框架分析之DB到Entity的映射(一)
- 欢迎使用CSDN-markdown编辑器
- 在Windows的CMD中如何设置支持UTF8编码?
- c#通过操作mongodb gridfs实现文件的数据库存储
- 正则表达式常用
- 2016
- 主流Web Service框架介绍:CXF和Axis2
- Android Service之串行化Service:IntentService(系列3)
- 喝点鸡汤
- MySQL权限篇之LOCK TABLES及元数据锁
- zypper命令使用示例
- 判断一个数是否是2的幂
- nginx
- nginx rewrite规则大杂烩