研磨设计模式笔记1
工作这么多年,以前也接触过多次设计模式,但终归是用到后才去分析,没有形成体系。市面上设计模式的书籍质量也参差不齐,阎宏那本《java与模式》不错,但有故弄玄虚之感。最近看到《研磨设计模式》一书,开始是从书评得到此书不错,后来看到作者的博客,初看了几个模式的讲解,受益非浅。很多模式的原理讲得通透,应用案例也有极强的针对性。个人认为是学习设计模式非常好的教程。所以作为一个系列,进行专门的学习。闲言休表,且看第一回:
第1章 设计模式基础
1.1 设计模式是什么
1.1.2 设计模式的概念
设计模式,是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的,特定问题的解决方案。
个人理解:《葵花宝典》也是一个设计模式。解决了第三种人类(特定环境)想称霸江湖的问题,经过岳掌门舍身验证,对于某些男士也很适用。
1.1.3 设计模式的理解
- 设计模式是解决某些问题的办法。
- 设计模式不是凭空想象出来的,是经验的积累和总结。
- 设计模式并不是一成不变的,而是在不断发展中。
- 设计模式并不是软件行业独有的,各行各业都有自己的设计模式。
1.2 设计模式有什么
1.2.1 设计模式的组成
在描述单个设计模式的时候,设计模式通常由以下部分组成。
- 模式名称:就是为每个设计模式取的名字,好记忆,也好交流。
- 环境和问题:描述在什么场景下,出现什么样的特定的问题。
- 解决方案:描述如何解决这个问题。
- 效果:描述模式应用的效果,以及可能带来的问题,或者使用中需要权衡
的 问题。
1.2.2 设计模式的分类
GOF(四人组,注意与万恶的四人帮区别)把它们分为三类:
- 创建型模式:抽象了对象实例化的过程,用来帮助创建对象的实例。
- 结构型模式:描述如何组合类和对象以获得更大的结构。
- 行为型模式:描述算法和对象间职责的分配。
转载于:https://blog.51cto.com/jawsy/560399