![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
vison20080808
这个作者很懒,什么都没留下…
展开
-
“设计模式”学习之四:组合(结构型)与迭代器(行为型)
一、组合(Composite) 1、引言 看看树形结构,一些结点是叶结点(没有子结点),另一些可能还有子结点。组合模式用于构造这种基本对象和组合对象的“部分-整体”层次结构。其中,基本对象可以被组合成组合对象,而组合对象可以被递归组合成更复杂的组合对象。而对于基本对象和组合对原创 2011-08-07 23:21:24 · 379 阅读 · 0 评论 -
“设计模式”学习之三:适配器、装饰模式
一、适配器(Adapter,别名“包装器”Wrapper) 1、引言 假设你手头有一个很好用的第三方库资源(只有接口,无源代码)或者已经有一个独立性比较强的单独工具箱,现在一个项目中面向特定领域的应用中要用到上述资源,可是接口不兼容。这时可以考虑适配器模式,设计适配器(Ada原创 2011-07-31 22:12:20 · 410 阅读 · 0 评论 -
“设计模式”学习之二:单件、原型与生成器模式
一、单件(Singleton)1、引言C++中如何创建一个唯一的对象或实例?全局变量是一种,更好的替代方式是单件模式。当某系统只能有一个**时,应该想到该模式。比如,系统中只有一个文件系统、打印机。 2、思路图中,_instance用以记录唯一实例;GetInstace()用以返原创 2011-07-24 21:28:42 · 559 阅读 · 0 评论 -
“设计模式”学习之五:桥接、外观、享元与代理(结构型)
一、桥接(Bridge,别名“Handle/Body”) 1、引言 我们一般的理解是:基类定义抽象接口;子类继承并实现接口。而桥接则是利用组合引用的方式,将抽象接口类Abstaction的功能实现部分交给另一个具体实现类Implementor。 2、一般思路 下图中原创 2011-08-14 15:53:13 · 598 阅读 · 0 评论 -
“设计模式”学习计划(始于2011.7.15)
个人境况:入职新人一枚,有一定C++基础;公司内部环境偏轻松,手头项目要求使用C++且项目不紧迫。参考资料:GoF的经典《设计模式》、《Head First设计模式》、网络资源阶段目标:1)每周末总结发布当周学习的模式情况,争取每种模式有两个典型例子(含C++代码分析);2)完成原创 2011-07-15 15:49:40 · 534 阅读 · 0 评论 -
“设计模式”学习之九:策略、模板方法与访问者(行为型)
一、策略(Strategy,别称“政策Policy”) 1、引言 对于某个功能子系统,在不同情况下可能需要不同的算法,并且运行时算法可切换。这时需要Strategy模式,它封装一个个可互相替换的算法,并且可以避免向客户程序员暴露与算法相关的复杂数据结构(高内聚、低偶合High原创 2011-09-12 20:37:12 · 620 阅读 · 0 评论 -
“设计模式”学习之七:解释器与中介者(行为型)
一、解释器(Interpreter) 1、引言 该模式一般用于为某种简单的特定类型的问题(如简单语言)提供一种文法,使用类来解释当中的每一条规则。 给出几种典型应用场合:正则表达式的解释与匹配、布尔表达式的操作、计算24的实例(http://www.cnblogs.com/原创 2011-08-29 00:05:27 · 957 阅读 · 0 评论 -
“设计模式”学习之六:职责链与命令模式(行为型)
一、职责链(Chain of Responsibility,简称“CoR”) 1、引言 职责链有几种典型的应用: (1)在MFC中,消息(如WM_COMMAND)是通过一个向上递交的链式处理策略对用户事件(如点击鼠标)进行处理的。 (2)击鼓传花是一种热闹而又紧张的饮酒游原创 2011-08-21 22:07:08 · 405 阅读 · 0 评论 -
“设计模式”学习之一:工厂方法与抽象工厂
一、工厂方法(Factory method,别名“虚构造器” VitualConstructor)1、引言典型过程:试想当你手头拥有服装厂(抽象类A),要生产一种服装(抽象类B),而你现在还不确定先生产服装中的哪种(比如上衣类ConcreteB1、裤子类ConcreteB2)。此原创 2011-07-17 21:43:26 · 468 阅读 · 0 评论 -
“设计模式”学习之八:备忘录、观察者与状态(行为型)
一、备忘录(Memento,别称“快照Snapshot”或“令牌Token”) 1、引言 该模式使用备忘录对象存储另外一个对象内部状态的快照(即某时刻历史状态),以备今后恢复、支持Undo机制等。例如,编辑Word文档的时候,会相应生成许多隐藏文件,这些其实就是这个文档不同时原创 2011-09-04 22:04:24 · 553 阅读 · 0 评论