03第3章设计模式概述.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 设计模式概述 本章教学内容 设计模式的诞生与发展 设计模式的定义与分类 GoF设计模式简介 设计模式的优点 设计模式的诞生与发展 模式的诞生与定义 模式起源于建筑业而非软件业 模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士 《A Pattern Language: Towns, Buildings, Construction》——253个建筑和城市规划模式 模式 Context(模式可适用的前提条件) Theme或Problem(在特定条件下要解决的目标问题) Solution(对目标问题求解过程中各种物理关系的记述) 设计模式的诞生与发展 Christopher Alexander 设计模式的诞生与发展 模式的诞生与定义 Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。 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种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。 设计模式的诞生与发展 Gang of Four 设计模式的诞生与发展 Erich Gamma 苏黎世大学计算机科学博士,是Eclipse、 JUnit 等项目主要技术负责人之一。 John Vlissides 斯坦福大学计算机科学博士, 原IBM研究员,于2005年11月24日因脑瘤去世,享年44岁。 Ralph Johnson 墨尔本大学计算机科学博士,原IBM 研究员,现在波士顿顾问集团供职。 Richard Helm 康奈尔大学计算机科学博士, 伊利诺伊大学教授。 Gang of Four 设计模式的诞生与发展 软件模式 软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式。 软件模式可以认为是对软件开发这一特定“问题”的“解法”的某种统一表示,它和Alexander所描述的模式定义完全相同,即软件模式等于一定条件下的出现的问题以及解法。软件模式的基础结构由4个部分构成:问题描述、前提条件(环境或约束条件)、解法和效果。 设计模式的诞生与发展 软件模式 设计模式的诞生与发展 软件模式 软件模式与具体的应用领域无关,在模式发现过程中需要遵循大三律(Rule of Three),即只有经过三个以上不同类型(或不同领域)的系统的校验,一个解决方案才能从候选模式升格为模式。 设计模式的诞生与发展 设计模式的发展 1987年,Kent Beck和Ward Cunningham借鉴Alexander的模式思想在程序开发中开始应用一些模式 ,在OOPSLA会议上发表了他们的成果。 1990年,OOPSLA与ECOOP联合举办,Erich Gamma和Richard Helm等人开始讨论有关模式的话题(Bruce Anderson主持),“四人组” 正式成立,并开始着手进行设计模式的分类整理工作。 1991 年,OOPSLA,Bruce Anderson主持了首次针对设计模式的研讨会 。 1992 年,OOPSLA ,Anderson再度主持研讨会,模式已经逐渐成为人们讨论的话题。 注: OOPSLA (Object-Oriented Programming, Systems, Languages Applications,面向对象编程、系统、语言和应用大会),编程语言及软件工程国际顶级会议,2010年改为SPLASH --- Systems, Programming, Languages and Applications: Software for Humanity 设计模式的诞生与发展 设计模式的发展 1993年,Kent Beck 和 Grady Booch 赞助了

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档