设计模式概述
Posted dyx2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式概述相关的知识,希望对你有一定的参考价值。
设计模式概述
模式的起源与诞生
1. 模式起源于建筑业而非软件业
2. Christopher Alexander博士 “模式(Pattern)之父”
1. 《A Pattern Language: Towns, Buildings, Construction》 “253个建筑和城市规划模式”
2. 模式
1. Context(模式可适用的前提条件)
2. Theme或Problem(在特定条件下要解决的目标问题)
3. Solution(对目标问题求解过程中各种物理关系的记述)
3. Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。
4. A pattern is a solution to a problem in a context
“模式是在特定环境中解决问题的一种方案”
设计模式的诞生
1990年,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的是1991-1992年以“四人组(Gang of Four,GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。
设计模式定义
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分 类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式分类
根据设计模式的目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:
1. 创建型模式主要用于创建对象。
2. 结构型模式主要用于处理类或对象的组合。
3. 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。
根据范围(模式主要是用于处理类之间关系还是处理对象之间的关系)可分为类模式和对象模式两种:
1. 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。
2. 对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性
以上是关于设计模式概述的主要内容,如果未能解决你的问题,请参考以下文章