设计模式C++实现(14)——职责链模式
来源:互联网 发布:cypcut激光切割软件 编辑:程序博客网 时间:2024/06/06 08:51
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。其思想很简单,考虑员工要求加薪。公司的管理者一共有三级,总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的职权内,那么经理可以直接批准,否则将申请上交给总监。总监的处理方式也一样,总经理可以处理所有请求。这就是典型的职责链模式,请求的处理形成了一条链,直到有一个对象处理请求。给出这个例子的UML图。
代码的实现比较简单,如下所示:
客户调用方式为:
本人享有博客文章的版权,转载请标明出处 http://blog.csdn.net/wuzhekai1985
阅读全文
0 0
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 设计模式C++实现(14)——职责链模式
- 模板方法
- 程序编译-汇编-链接的理解!
- 计算机基础知识小知识整理
- 数据结构第七周项目-负数把正数赶出队列
- 消息队列的使用场景
- 设计模式C++实现(14)——职责链模式
- 最近调试人脸问题的总结--命令行+抽取第二级子目录的名称
- Android通过反射设置按钮的事件监听器
- 【洛谷】2580 于是他错误的点名开始了
- springMVC 点击超链接跳转没有反应原因
- linux查看版本
- 通往Java架构师的路,你想成为一个Java架构师吗?
- 【Deep Learning】Yolo_v2:YOLO9000: Better, Faster, Stronger 原理
- HDU-3416 Marriage Match IV