设计模式简介

模式: 在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案

软件模式: 将模式的一般概念应用于软件开发领域, 在一定条件下软件开发问题及其解法。软件模式的基础结构主要由四部 分构成,包括问题描述(待解决的问题是什么)、前提条件(在何种环境或约束条件下使用)、解法 (如何解决)和效果(有哪些优缺点)。

设计模式: 用于在特定的条件下为一些重复出现的软件 设计问题提供合理的、有效的解决方案

设计模式定义与分类

1.设计模式的定义

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结, 使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。

2.设计模式的基本要素

设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。

模式名称(Pattern Name)

通过一两个词来描述模式的问题、解决方案和效果,以便更好地理解模式并方便开发人员之间的交流, 绝大多数模式都是根据其功能或模式结构来命名的。(如: XXXAdapter , XXXFactory )。

问题(Problem)

描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因。 有时候,在模式问题描述中可能包含模式使用的一些先决条件,例如在使用组合模式的时候要求系统存在整体和部分的层次结构关系。

解决方案(Solution)

描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过 UML 类图和核心代码来进行描述。 对于每一个设计模式用户必须掌握其类图,理解类图中每个角色的意义以及他们之间的关系,同时需要掌握核心代码,以便在开发中使用。

效果(Consequences)

描述了模式的优缺点以及在使用模式时应权衡的问题。 在评价效果的时候一般需要结合面向对象的设计原则来评估(如:是否符合单一原则、是否符合开闭原则等等)。

3.设计模式的分类

根据用途分
  • 创建型模式:主要用于描述如何创建对象
  • 结构型模式:主要用于描述如何实现类或对象的组合
  • 行为型模式:主要用于描述类或对象怎样交互以及怎样分配职责
根据范围分
  • 类模式:处理类和子类之间的关系,这类关系通过继承实现,在编译时就确定下来的一种静态关 系。
  • 对象模式:处理对象之间的关系,这些关系在运行时变化,更具动态性。

设计模式简介_第1张图片

4.设计模式的优点

  • 现可维护性复用的设计方案, 为有助于我们提高开发和设计效率
  • 一套通用的设计词汇和一种通用的形式来方便开发人员之间沟通和交流, 提高交流效率
  • 提高系统的灵活性和可扩展性
  • 合理使用设计模式并对设计模式的使用情况进行文档化,将有助于别人更快地理解系统
  • 有助于初学者更加深入地理解面向对象思想

你可能感兴趣的:(设计模式,设计模式)