设计模式概述
一、设计模式的诞生与发展
(1) 模式的诞生与定义
模式起源于建筑业而非软件业,模式(Pattern)之父——美国加利佛利亚大学环境结构中心研究所所长Christopher Alexander博士,他提出来了关于模式的经典定义——每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。
A pattern Language:Towns,Buildings,Construction Christopher Alexander
模式的定义是:在特定环境中解决问题的一种方案。
(2) 软件模式的诞生
1990年,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破。最早将模式的思想引入软件工程方法学的是1991-1992年以“四人组”(Gang of Four),他们将模式的概念引入软件工程领域,这标志着软件模式的诞生。
(3) 设计模式的发展
从1987年开始,即Kent Beck和Ward Cunning借鉴Alexander的模式思想在程序开发中开始应用一些模式,在OOPSLA会议上发表了他们的成果后,陆续几年里设计模式受到越来越多学者的关注,直到1995年”四人组”出版了《设计模式:可复用面向对象软件的基础》,从1995年至今,设计模式在软件开发中得到了广泛应用,诞生了越来越多的与设计模式相关的书籍与网站。
二、设计模式的定义与分类
(1) 设计模式的定义
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
(2) 设计模式的分类
根据目的准则可分为:
创建型模式:主要用于创建对象,而不是直接实例化对象;
结构型模式:怎样合理安排系统内的各个对象,使得分布合理、易理解、管理与维护;
行为型模式:定义系统内对象间的交互与通信。
根据作用范围可分为:
类模式:处理类与子类之间的关系,属于静态的;
对象模式:处理对象间的关系,在运行时可以变化的,属于动态的。
三、设计模式的作用
提升软件的可复用性和可维护性,从而能节约设计成本,提高开发效率。

浙公网安备 33010602011771号