什么是设计模式?为何使用他们

 

设计模式是分析过的问题和问题解决方案所阐释的优秀实践

每个模式都描述着一种在我们的环境中一遍又一遍的出现的问题,并描述了对该问题的核心解决方案。以此方式你可以使用该方案上百万次,而从不需要重复做同样的事情

------《A Pattern Language

模式是类和对象的一种特殊组织形式,是以定义解决方案的应用条件并讨论其效果的形式来组织的。

一个设计模式的核心右四部分组成:

  1. 命名:少许简短的文字便可表示相当复杂的问题和解决方案(简洁性、描述性)
  2. 问题:找出问题比使用模式目录中的解决方案更难;这正是某些模式的解决方案被无用的原因之一
  3. 解决方案:虽然问题的解决方案总是相同的,但是实际采用的步骤依赖于各种因素
  4. 效果

模式结构只要组成部分

  1. 意图:模式目的的简要概括
  2. 动机:需要被解决的为问题
  3. 适用性:检验不同情况下你是否可以应用某模式
  4. 结构/交互:描述解决方案中类和对象之间的关系
  5. 实现:着眼于解决方案的细节,介绍了应用解决方案时可能发生的问题,并提供了部署的技巧
  6. 示例代码:范例通常都会被简化以突出解决方案的核心内容
  7. 已知应用:(三法则:一次出现是偶然现象,两次出现是巧合,三次出现才可称为一个模式)
  8. 相关模式:在使用某个模式时,可以创造出另一个模式使用的条件(模式间的合作)

为什么使用设计模式

  1. 一个设计模式定义了一个问题(有时找到解决方案的第一步便是认清你面对的问题)
  2. 一个设计模式定义了一个解决方案
  3. 设计模式是语言无关的(模式以面向对象的方式来定义对象和解决方案)
  4. 模式定义了一组词汇(通过给开发人员提供技术的名称,模式使沟通更加丰富;技术是超越它们的命名和组织的)
  5. 模式是经过测试的(在面向对象环境中,模式代表着最佳实践)
  6. 模式是为协作而设计的(模式生来就是“可生成的”和“可组成的”)
  7. 设计模式促进良好设计(设计模式示范应用了面向对象原则)

 

原文发自:wenjun.in

posted on 2012-03-21 22:37  wenjuncool  阅读(1638)  评论(6编辑  收藏  举报

导航