Java设计模式03设计模式概述.pdf
《Java设计模式03设计模式概述.pdf》由会员分享,可在线阅读,更多相关《Java设计模式03设计模式概述.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章第3章设计模式概述设计模式概述主讲教师:程细柱韶关学院计算机系主讲教师:程细柱韶关学院计算机系本书作者:刘伟清华大学出版社本书作者:刘伟清华大学出版社本章教学内容?设计模式的诞生与发展设计模式的诞生与发展?设计模式的定义与分类设计模式的定义与分类?GoF设计模式简介设计模式简介?设计模式的优点设计模式的优点设计模式的诞生与发展?模式的诞生与定义模式的诞生与定义?模式起源于建筑业而非软件业模式起源于建筑业而非软件业?模式模式(Pattern)之父之父美国加利佛尼亚大学美国加利佛尼亚大学环境结构中心研究所所长环境结构中心研究所所长Christopher Alexander博士博士?A Pat
2、tern Language:Towns,Buildings,Construction253个建筑和城市规划模式个建筑和城市规划模式?模式模式 Context(模式可适用的前提条件)(模式可适用的前提条件)Theme或或Problem(在特定条件下要解决的目标问题)(在特定条件下要解决的目标问题)Solution(对目标问题求解过程中各种物理关系的记述)(对目标问题求解过程中各种物理关系的记述)设计模式的诞生与发展Christopher Alexander设计模式的诞生与发展?模式的诞生与定义模式的诞生与定义?Alexander给出了关于模式的经典定义:每个模式都描述了一个给出了关于模式的经典定
3、义:每个模式都描述了一个在我们的环境中不断出现的问题在我们的环境中不断出现的问题,然后描述了该问题的,然后描述了该问题的解决方案解决方案的核心的核心,通过这种方式,我们可以无,通过这种方式,我们可以无数次地数次地重用那些已有的解决方案,无需再重复相同的工作。重用那些已有的解决方案,无需再重复相同的工作。?A pattern is a solution to a problem in a context?模式是在模式是在特定环境特定环境中中解决问题解决问题的一种的一种方案方案设计模式的诞生与发展?软件模式软件模式?1990年,软件工程界开始关注Christopher Alexander等在这一住
4、宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的1990年,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的是1991-1992年以是1991-1992年以“四人组四人组(Gang of Four,GoF,分别是Erich Gamma,Richard Helm,Ralph Johnson和John VlissidesGang of Four,GoF,分别是Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides)”自称的
5、四位著名软件工程学者,他们在1994年归纳发表了自称的四位著名软件工程学者,他们在1994年归纳发表了23种23种在软件开发中使用频率较高的设计模式,旨在在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。设计模式的诞生与发展Gang ofGang ofFourFour设计模式的诞生与发展设计模式的诞生与发展Erich Gamma苏黎世大学苏黎世大学计算机科学博士,是计算机科学博士,是Eclipse、JUnit 等项目主要技术负责人之一。等项目主要技术负责人之一。John Vlissides斯坦福
6、大学斯坦福大学计算机科学博士,原计算机科学博士,原IBM研究员,研究员,于于2005年年11月月24日因脑瘤去世,享年日因脑瘤去世,享年44岁。岁。Ralph Johnson 墨尔本大学墨尔本大学计算机科学博士,原计算机科学博士,原IBM 研究员,现在波士顿顾问集团供职。研究员,现在波士顿顾问集团供职。Richard Helm康奈尔大学康奈尔大学计算机科学博伊利诺伊大学教授。计算机科学博伊利诺伊大学教授。Gang of FourGang of Four设计模式的诞生与发展?软件模式软件模式?软件模式是将模式的一般概念应用于软件开发领域,即软件模式是将模式的一般概念应用于软件开发领域,即软件开发
7、的总体指导思路或参照样板软件开发的总体指导思路或参照样板。软件模式并非仅。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式限于设计模式,还包括架构模式、分析模式和过程模式等等,实际上,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式在软件生存期的每一个阶段都存在着一些被认同的模式。?软件模式可以认为是软件模式可以认为是对软件开发这一特定对软件开发这一特定“问题问题”的的“解法解法”的某种统一表示的某种统一表示,它和Alexander所描述的模式定义完全相同,即,它和Alexander所描述的模式定义完全相同,即软件模式等于一定条件下的出现的问题以及解法软件模式等于一定条件
8、下的出现的问题以及解法。软件模式的基础结构由4个部分构成:。软件模式的基础结构由4个部分构成:问题描问题描述述、前提条件(环境或约束条件)、解法前提条件(环境或约束条件)、解法和和效果效果。设计模式的诞生与发展?软件模式问题描述前提条件解法效果 优缺点 已知应用其他相关模式关联解法设计模式的诞生与发展?软件模式?软件模式与具体的应用领域无关软件模式与具体的应用领域无关,在模式发现,在模式发现过程中需要遵循过程中需要遵循大三律大三律(Rule of Three),即只有经过,即只有经过三个以上不同类型(或不同领域)的系统三个以上不同类型(或不同领域)的系统的校验,一个解决方案才能从候选模式升格为
9、模式。的校验,一个解决方案才能从候选模式升格为模式。设计模式的诞生与发展?设计模式的发展设计模式的发展?1987年年,Kent Beck和和Ward Cunningham借鉴借鉴Alexander的模的模式思想在程序开发中开始应用一些模式式思想在程序开发中开始应用一些模式,在,在OOPSLA会议上发表了他们的成果。会议上发表了他们的成果。?1990年年,OOPSLA与与ECOOP联合举办,联合举办,Erich Gamma和和Richard Helm等人开始讨论有关模式的话题等人开始讨论有关模式的话题(Bruce Anderson主持主持),“四人组四人组”正式成立正式成立,并开始着手进行设计模
10、式的分类整理工作。,并开始着手进行设计模式的分类整理工作。?1991 年年,OOPSLA,Bruce Anderson主持了首次针对设计模式主持了首次针对设计模式的研讨会的研讨会。?1992 年年,OOPSLA,Anderson再度主持研讨会,模式已经逐渐再度主持研讨会,模式已经逐渐成为人们讨论的话题成为人们讨论的话题。?注注:OOPSLA(Object-Oriented Programming,Systems,Languages&Applications,面向对象编程、系统、语言和应用面向对象编程、系统、语言和应用大会大会),编程语言及软件工程国际顶级会议,编程语言及软件工程国际顶级会议,2
11、010年改为年改为SPLASH-Systems,Programming,Languages and Applications:Software for Humanity 设计模式的诞生与发展?设计模式的发展设计模式的发展?1993年年,Kent Beck 和和 Grady Booch 赞助了第一次关于设计模式的会议,这个设计模式研究组织发展成为著名的赞助了第一次关于设计模式的会议,这个设计模式研究组织发展成为著名的Hillside Group研究组研究组。?1994 年年,由,由Hillside Group发起,在美国伊利诺伊州发起,在美国伊利诺伊州(Illinois)Allerton Par
12、k召开了第召开了第1届关于面向对象模式的世界性会议届关于面向对象模式的世界性会议,名为,名为PLoP(Pattern Languages of Programs,编程语言模式会议编程语言模式会议),简称,简称PLoP94。?1995年年,PLoP95 仍在伊利诺伊州的仍在伊利诺伊州的Allerton Park举行,举行,“四人四人组组”出版了设计模式:可复用面向对象软件的基础出版了设计模式:可复用面向对象软件的基础(Design Patterns:Elements of Reusable Object-Oriented Software)一书,本书成为一书,本书成为1995年最抢手的面向对象书
13、籍,也成为设计模式的经典书籍。年最抢手的面向对象书籍,也成为设计模式的经典书籍。设计模式的诞生与发展?设计模式的发展设计模式的发展?从从1995年至今,设计模式在软件开发中得以广泛应年至今,设计模式在软件开发中得以广泛应用用,在,在Sun的的Java SE/Java EE平台平台和和Microsoft的的.net平台平台设计中就应用了大量的设计模式。设计中就应用了大量的设计模式。?诞生了越来越多的与设计模式相关的书籍和网站,设计模式也作为一门独立的课程或作为软件体系结构等课程的重要组成部分出现在国内外研究生和大学教育的课堂上。诞生了越来越多的与设计模式相关的书籍和网站,设计模式也作为一门独立的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 设计 模式 03 概述
限制150内