设计模式
设计模式
标签(空格分隔): 设计模式
设计模式最初是出现在建筑领域的设计中, 之后延伸到软件设计领域.
设计模式的概念和意义
有关软件设计模式的定义有很多, 有些从模式的特点来说明, 有些从模式的作用来说明.
1. 软件设计模式的概念
- 软件设计模式(Software Design Pattern), 又称之为设计模式, 是一套被反复使用, 多数人所认同, 经过分类编目的设计经验的总结. 具有一定的普遍性, 可以被反复使用. 其目的主要是为了提高代码的可重用性, 代码的刻度性和代码的可靠性.
2. 学习设计模式的意义
- 提高思维能力, 编程能力和设计能力.
- 使程序更加的标准化, 工程化, 提高开发效率.
- 高内聚,低耦合,可读性强, 可重用性高, 可维护性强.
设计模式的基本要素.
设计模式使人们可以更加简单方便的复用成功地设计和体系结构, 它通常包含以下几个基本要素: 模式名称, 别名, 动机, 问题, 解决方案, 效果, 结构, 模式角色, 合作关系, 实现方法, 实用性, 已知应用, 例程等, 其中最关键的元素包括以下四个主要部分.
1. 模式名称
- 每一套的设计模式都有自己的名字, 通常使用一两个词来描述, 可以根据模式的问题, 特点, 解决方法, 功能以及效果来命名. 模式的名称有助于我们理解和记忆该模式, 也方便交流讨论.
2. 问题
- 问题描述了该设计模式应用的环境, 即何时何地使用该模式, 解释了设计问题和问存在的前因后果, 以及需要满足的一系列的先决条件.
3. 解决方案
- 模式的解决方案包括设计的组成成分, 他们之间的相互关系以及自己的职责和写作方式, 因为模式就像一个模板, 可以适用于不同的场合, 所以解决方案并不描述一个特定而具体的设计或实现, 而是根据提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合来解决这个问题.
4. 效果
- 描述了模式的应用效果以及使用该模式应该权衡的问题, 即模式的优缺点. 主要是对时间和空间的衡量, 以及该模式对系统的灵活性, 扩充性, 可移植性的影响, 也考虑其实现问题, 显式的列出这些效果对理解和评价这些模式有很大的帮助.