- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
设计模式精解-GoF 23 种设计模式解析附 C++实现源码 /blog/k_eckel
设计模式精解-GoF 23 种设计模式解析附 C++实现源码
目 录
0 引言 2
0.1 设计模式解析(总序)2
0.2 设计模式解析后记2
0.3 与作者联系5
1 创建型模式5
1.1 Factory模式 5
1.2 AbstactFactory模式 11
1.3 Singleton模式 16
1.4 Builder模式 18
1.5 Prototype模式 23
2 结构型模式26
2.1 Bridge模式26
2.2 Adapter模式31
2.3 Decorator模式35
2.4 Composite模式 40
2.5 Flyweight模式 44
2.6 Facade模式 49
2.7 Proxy模式 52
3 行为模式55
3.1 Template模式55
3.2 Strategy模式 59
3.3 State模式63
3.4 Observer模式68
3.5 Memento模式 73
3.6 Mediator模式76
3.7 Command模式81
3.8 Visitor模式87
3.9 Chain of Responsibility模式92
3.10 Iterator模式96
3.11 Interpreter模式 100
4 说明 105
第 1 页 共 105 页 k_eckel
设计模式精解-GoF 23 种设计模式解析附 C++实现源码 /blog/k_eckel
0 引言
0.1 设计模式解析(总序)
“Next to My Life, Software Is My Passion”—— Robert C.Martin.
懂了设计模式,你就懂了面向对象分析和设计(OOA/D )的精要。反之好像也可能成
立。道可道,非常道。道不远人,设计模式亦然如此。
一直想把自己的学习经验以及在项目中的应用经历拿出来和大家共享,却总是下不了这
个决心:GoF 的23 种模式研读、总结也总需要些时日,然而时间对于我来说总是不可预计
的。
之所以下了这个决心,有两个原因:一是 Robert 的箴言,二是因为我是一个感恩的人,
就像常说的:长怀感恩之心,人生便无遗憾。想想当时读 GoF 的那本圣经时候的苦闷、实
现 23 个模式时候的探索、悟道后的欣悦,我觉得还是有这个意义。
0.2 设计模式解析后记
写完了Interpreter模式之后,我习惯性的看看下一天的安排,却陡然发现GoF的 23个
设计模式的解析已经在我不经意间写完了。就像在一年前看GoF的《设计模式》一书,和半
年前用C++模拟、实现 23 种经典的设计模式一般,透过这个写解析的过程,我又看到了另外
一个境界。一直认为学习的过程很多时候可以这样划分:自己学会一门知识 (技术)、表达
出来、教会别人、记录下来,虽然这个排序未必对每个人都合适 (因为可能不同人有着不同
的特点能力)。学一门知识,经过努力、加以时日,总是可以达到的,把自己学的用自己的
话表达出来就必须要将学到的知识加以消化、理解,而教会一个不懂这门知识的人则比表达
出来要难,因为别人可能并不是适应你的表述方式,记录下来则需要经过沉淀、积累、思考,
最后厚积薄发,方可小成。
设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的
作用一般
文档评论(0)