文档介绍:设计模式的思想根源是基本原则的宏观运用,本质上是没有任何模式的
发现模式的人永远是大师,而死守模式的人,最多只能是一个工匠.
设计模式 Design Pattern
*
软件设计原则与设计模式专业版
*
设计模式 Design Pattern
面向对象研究的新领域
20世纪90年代,面向对象方法与技术在国内软件业界十分火爆,人们热衷于谈论“对象”并引以为荣。十多年来,人们发表、出版了无数的文章和书籍。现在,该写的似乎都写完了,没有新花样玩了,真是一片无聊
设计模式(Design Pattern)及时问世,面向对象爱好者们终于有了新的追求
*
软件设计原则与设计模式专业版
*
设计模式:起源
起源
Christopher Alexander
当代著名建筑大师
加州大学伯克利分校建筑学教授、环境结构研究所所长、美国艺术与科学院院士
在建筑、室内、计算机、家具设计甚至哲学方面都卓有建树
著作:《A Pattern Language》、《The Timeless Way of Building》
*
软件设计原则与设计模式专业版
*
设计模式:起源
Gof (Gang Of Four,“四人帮”)
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
1995年出版了《Design Patterns: Elements of Reusable Object-Oriented Software》
该书确立了设计模式这个术语,创导了一种新的面向对象设计思潮。从此,参与设计模式研究的人数爆炸性地增长
*
软件设计原则与设计模式专业版
*
设计模式:起源
*
软件设计原则与设计模式专业版
*
设计模式
什么叫模式?
“每一个模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该解决方案而不必重复劳动”
尽管软件技术发展非常快,但是仍然有非常多的设计模式可以让我们套用
设计模式可以帮助人们简便地复用以前成功的设计方案,提高工作效率
*
软件设计原则与设计模式专业版
*
设计模式:研究现状
设计模式的研究现状
pattern 与 Java、C#
pattern 与 组件技术(如CORBA)
pattern 与 系统结构
pattern 与 泛型编程(generic programming)相结合
其他(例如UML等)
*
软件设计原则与设计模式专业版
*
模式的分类(gof提出的23个)
创建型
结构型
行为型
类
Factory Method
Adapter (类)
Interpreter
Template Method
对
象
Abstract Factory
Builder
Prototype
Singleton
Adapter (对象)
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
*
软件设计原则与设计模式专业版
*
Bridge(桥梁)模式
案例
有一个叫做HuntBird的游戏,里面需要表示各种各样的鸟类
*
软件设计原则与设计模式专业版
*
Bridge(桥梁)模式
最初的设计
*
软件设计原则与设计模式专业版
*