outline
1
概述
?
在设计过程中经常问这样一个问题
“I wonder if anyone has developed a solution for this?”
?
?
对于清晰描述的一组问题,基于模式的设计通过查找一组已被证明有效的解决方案来创建新的应用系统。
起源于20世纪70年代
??
Alexander 建筑设计模式
2
设计模式定义
?
?
Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.
---------Chirstopher Alexander
“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”
3
软件设计中的模式
?
?
Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides
《Design Patterns—Elements of Reusable Software》Gang of Four (GOF) 23
4
什么是设计模式
?
?
?
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
整个设计模式贯穿一个原理:面对接口编程,而不是面对实现。目标原则是:降低耦合,增强灵活性。
5