欢迎来到天天文库
浏览记录
ID:50780770
大小:4.43 MB
页数:28页
时间:2020-03-14
《设计模式概述ppt课件 (4).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章设计模式概述1教学内容设计模式的诞生与发展设计模式的定义与分类GoF设计模式简介设计模式的优点2设计模式的诞生与发展模式的诞生与定义模式起源于建筑业而非软件业模式(pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长ChristopherAlexander博士《APatternLanguage:Towns,Buildings,Construction》——253个建筑和城市规划模式模式Context(模式可适用的前提条件)Theme或Problem(在特定条件下要解决的目标问题)Solution(对目标问题求解过程中各种物理关系的记述)3设计模
2、式的诞生与发展ChristopherAlexander4设计模式的诞生与发展模式的诞生与定义Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。Apatternisasolutiontoaprobleminacontext模式是在特定环境中解决问题的一种方案5设计模式的诞生与发展软件模式1990年,软件工程界开始关注ChristopherAlexander等在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模
3、式的思想引入软件工程方法学的是1991-1992年以“四人组(GangofFour,GoF,分别是ErichGamma,RichardHelm,RalphJohnson和JohnVlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。6设计模式的诞生与发展GangofFour7设计模式的诞生与发展ErichGamma苏黎世大学计算机科学博士,Eclipse项目主要技术负责人之一。JohnVlissides斯坦福大学计算机科学博士,原IBM研究
4、员,于2005年11月24日因脑瘤去世。RalphJohnson墨尔本大学计算机科学博士,IBM研究员。RichardHelm康奈尔大学计算机科学博士,伊利诺伊大学教授。GangofFour8设计模式的诞生与发展软件模式软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式。软件模式可以认为是对软件开发这一特定“问题”的“解法”的某种统一表示,它和Alexander所描述的模式定义完全相同,即软件模式=一定条件下的
5、{问题+解法}。软件模式的基础结构由4个部分构成:问题描述、前提条件(环境或约束条件)、解法和效果。9设计模式的诞生与发展软件模式10设计模式的诞生与发展软件模式软件模式与具体的应用领域无关,在模式发现过程中需要遵循大三律(RuleofThree),即只有经过三个以上不同类型(或不同领域)的系统的校验,一个解决方案才能从候选模式升格为模式。11设计模式的诞生与发展设计模式的发展1987年,KentBeck和WardCunningham借鉴Alexander的模式思想在程序开发中开始应用一些模式,在OOPSLA会议上发表了他们的成果。1990年,OOPSLA与EC
6、OOP联合举办,ErichGamma和RichardHelm等人开始讨论有关模式的话题(BruceAnderson主持),“四人组”正式成立,并开始着手进行设计模式的分类整理工作。1991年,OOPSLA,BruceAnderson主持了首次针对设计模式的研讨会。1992年,OOPSLA,Anderson再度主持研讨会,模式已经逐渐成为人们讨论的话题。注:OOPSLA(Object-OrientedProgramming,Systems,Languages&Applications,面向对象编程、系统、语言和应用大会),编程语言及软件工程国际顶级会议,2010年
7、改为SPLASH---Systems,Programming,LanguagesandApplications:SoftwareforHumanity12设计模式的诞生与发展设计模式的发展1993年,KentBeck和GradyBooch赞助了第一次关于设计模式的会议,这个设计模式研究组织发展成为著名的HillsideGroup研究组。1994年,由HillsideGroup发起,在美国伊利诺伊州(Illinois)的AllertonPark召开了第1届关于面向对象模式的世界性会议,名为PLoP(PatternLanguagesofPrograms,编程语言模式
8、会议),简称PLoP‘9
此文档下载收益归作者所有