什么是设计模式?为何使用他们
设计模式是分析过的问题和问题解决方案所阐释的优秀实践
每个模式都描述着一种在我们的环境中一遍又一遍的出现的问题,并描述了对该问题的核心解决方案。以此方式你可以使用该方案上百万次,而从不需要重复做同样的事情
------《A Pattern Language》
模式是类和对象的一种特殊组织形式,是以定义解决方案的应用条件并讨论其效果的形式来组织的。
一个设计模式的核心右四部分组成:
- 命名:少许简短的文字便可表示相当复杂的问题和解决方案(简洁性、描述性)
- 问题:找出问题比使用模式目录中的解决方案更难;这正是某些模式的解决方案被无用的原因之一
- 解决方案:虽然问题的解决方案总是相同的,但是实际采用的步骤依赖于各种因素
- 效果
模式结构只要组成部分
- 意图:模式目的的简要概括
- 动机:需要被解决的为问题
- 适用性:检验不同情况下你是否可以应用某模式
- 结构/交互:描述解决方案中类和对象之间的关系
- 实现:着眼于解决方案的细节,介绍了应用解决方案时可能发生的问题,并提供了部署的技巧
- 示例代码:范例通常都会被简化以突出解决方案的核心内容
- 已知应用:(三法则:一次出现是偶然现象,两次出现是巧合,三次出现才可称为一个模式)
- 相关模式:在使用某个模式时,可以创造出另一个模式使用的条件(模式间的合作)
为什么使用设计模式
- 一个设计模式定义了一个问题(有时找到解决方案的第一步便是认清你面对的问题)
- 一个设计模式定义了一个解决方案
- 设计模式是语言无关的(模式以面向对象的方式来定义对象和解决方案)
- 模式定义了一组词汇(通过给开发人员提供技术的名称,模式使沟通更加丰富;技术是超越它们的命名和组织的)
- 模式是经过测试的(在面向对象环境中,模式代表着最佳实践)
- 模式是为协作而设计的(模式生来就是“可生成的”和“可组成的”)
- 设计模式促进良好设计(设计模式示范应用了面向对象原则)
原文发自:wenjun.in
posted on 2012-03-21 22:37 wenjuncool 阅读(1638) 评论(6) 编辑 收藏 举报