软件工程(二十五)

设计模式的诞生与发展

  • 模式的诞生与定义
    -模式起源于建筑业而非软件业
    -模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士
    -《A Pattern Language: Towns, Buildings, Construction》——253个建筑和城市规划模式
    -模式
    -Context(模式可适用的前提条件)
    -Theme或Problem(在特定条件下要解决的目标问题)
    -Solution(对目标问题求解过程中各种物理关系的记述)
  • 软件模式
    1990年,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的是1991-1992年以“四人组(Gang of Four,GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。
    -软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式。
    -软件模式可以认为是对软件开发这一特定“问题”的“解法”的某种统一表示,它和Alexander所描述的模式定义完全相同,即软件模式等于一定条件下的出现的问题以及解法。软件模式的基础结构由4个部分构成:问题描述、前提条件(环境或约束条件)、解法和效果。

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

设计模式的基本要素
设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:
a.模式名称 (Pattern name)
b.问题 (Problem)
c.解决方案 (Solution)
d.效果 (Consequences)

设计模式的分类
-根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:
-创建型模式主要用于创建对象。
-结构型模式主要用于处理类或对象的组合。
-行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。


欢迎关注我的微信个人订阅号
这里写图片描述
每天多学一点0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值