设计模式(Design Parttern)
我要正儿八经的弄懂设计模式。这是开始,先搞明白的什么是设计模式。
定义
设计模式是一套被 反复使用、多数人知晓、经过分类编目的、代码设计经验的总结。
为什么要用设计模式
为了 可重用 代码,让代码更容易的被他人理解并保证代码的 可靠性。
谁这么叼设计牛模式
四人组( Gang of Four ),简称 GoF ,分别是 Erich Gamma, **Richard Helm **, **Ralph Johnson **和 John Vlissides 。但不是他们设计的,是他们在 95年的时候整理归纳 23 种最常用的设计模式并会变成一本书 Design Patterns: Elements of Reusable Object-Oriented Software 就是:《设计模式:可复用面向对象软件的基础》 。是经过时间的验证的,大家一定要学会。
怎么学
balabala ...
设计模式最重要的 4 个元素 模式名称 (Parttern Name)、 问题(Problem) 、 解决方案 (Solution) 、 效果 (Consequences)。
学习设计模式我们就从这 4 个元素出发。一个一个弄清楚它。
-
模式名称 (Parttern Name)
就是这个模式的名字。简单明了的命名。 -
问题 (Problem)
描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因 -
解决方案 (Solution)
该框架的解决方案。就是如何设计这个模式。描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码来进行描述。 -
效果 (Consequences)
描述了模式的优缺点以及在使用模式时应权衡的问题 (呈现)
说到这里,你都有啥框架
我们要掌握的应该除了GoF 说的 23 种模式还有加一个 简单工厂模式 (Simple Factory Pattern)也很常用还简单。我顺手就学会了。
来个预览先(参考)
看图得知,这是按照用途分为三种: 创建型(Creational, 结构型(Structural, 行为型(Behavioral 三种。
接下来就按照表格 模式名称这一列顺序一一讲解。学习难度和使用频率并不重要,因为我都要会。