软件工程(二十五)

原创 2016年05月31日 23:29:37

设计模式的诞生与发展

  • 模式的诞生与定义
    -模式起源于建筑业而非软件业
    -模式(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

版权声明:本文为博主原创文章,注明出处,随便转

软件工程各阶段的UML图

软件工程各阶段的UML图 转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6616876.html    UML是统一建模语言,主要用于软件的...

【软件工程】写文档真的很重要——文档总结

最近

软件工程(C编码实践篇)学习总结

刘思琪 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 一、《软件工程(C编...

软件工程中10个最重要的理念

1.软件开发最终是由人来执行和完成而不是机器。# Software development is performed by human beings. This notion was first po...

【软件工程】 文档 - 银行业务管理 - 结构化设计

软件工程 银行业务管理和现金结算系统 --- 结构化设计文档
  • Ya_da
  • Ya_da
  • 2016年05月01日 16:29
  • 9418

软件工程(C编码实践篇)学习总结

课程报告与代码 1.熟悉linux实验环境 【实验一:写一个hello world小程序 实验报告 代码库 】 小结:在linux环境下,编写helloworld小程序。本次实验主要是让学生了...

软件工程与UML图的关系

 软件工程是软件开发设计的灵魂,是我们前进的思想性指导。它使我们的设计有法可依,有章可循。如果把软件开发比作建设一栋高楼,那么软件工程就是知道我们不至于在构建一座大楼的时候,最后不知不觉建成了鸡...

软考(4)——看图心想 系统开发和软件工程

软件工程,顾名思义可以看做将虚拟的软件当做现实生活中像建筑工程一样来进行工程管理开发。在前边我们有过专门的学习:软件工程专栏 。它也是软考非常重要的一大块,这次针对软考进行知识点的总结。    ...

软件工程的国家标准(总结)

软件工程国家标准分为六大类 1、 专业基础标准 2、 过程标准 3、 质量标准 4、 技术与管理标准 5、 工具与方法标准 6、 数据标准   大纲将软...

软件工程 可行性研究 习题2

2-1    可行性分析是要进行一次大大压缩简化系统分析和设计过程,避免时间、资源、人力和金钱的浪费。 技术上的可行性 ——使用现有的技术能实现这个系统吗? 经济上的可行性 ——这个系统的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件工程(二十五)
举报原因:
原因补充:

(最多只允许输入30个字)