欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《设计模式概述》PPT课件.ppt

    • 资源ID:80445700       资源大小:3.79MB        全文页数:28页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《设计模式概述》PPT课件.ppt

    第第3 3章章设计模式概述设计模式概述本章教学内容w设计模式的诞生与发展 w设计模式的定义与分类 wGoF设计模式简介 w设计模式的优点 设计模式的诞生与发展w模式的诞生与定义 模式起源于建筑业而非软件业模式起源于建筑业而非软件业模式模式(Pattern)之父之父美国加利佛尼亚大学环境结构中心研究所美国加利佛尼亚大学环境结构中心研究所所长所长Christopher Alexander博士博士A Pattern Language:Towns,Buildings,Construction253个建筑和城市规划模式个建筑和城市规划模式模式模式Context(模式可适用的前提条件)Theme或Problem(在特定条件下要解决的目标问题)Solution(对目标问题求解过程中各种物理关系的记述)设计模式的诞生与发展Christopher Alexander设计模式的诞生与发展w模式的诞生与定义 Alexander给出了关于模式的经典定义:每个模式都描给出了关于模式的经典定义:每个模式都描述了一个述了一个在我们的环境中不断出现的问题在我们的环境中不断出现的问题,然后描述了,然后描述了该问题的该问题的解决方案解决方案的核心,通过这种方式,我们可以无的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工数次地重用那些已有的解决方案,无需再重复相同的工作。作。A pattern is a solution to a problem in a context 模式是在模式是在特定环境特定环境中中解决问题解决问题的一种的一种方案方案 设计模式的诞生与发展w软件模式 1990年,软件工程界开始关注年,软件工程界开始关注Christopher Alexander等等在这一住宅、公共建筑与城市规划领域的重大突破,最早将在这一住宅、公共建筑与城市规划领域的重大突破,最早将该模式的思想引入软件工程方法学的是该模式的思想引入软件工程方法学的是1991-1992年以年以“四四人组人组(Gang of Four,GoF,分别是,分别是Erich Gamma,Richard Helm,Ralph Johnson和和John Vlissides)”自称自称的四位著名软件工程学者,他们在的四位著名软件工程学者,他们在1994年归纳发表了年归纳发表了23种种在软件开发中使用频率较高的设计模式,旨在在软件开发中使用频率较高的设计模式,旨在用模式来统一用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟沟通面向对象方法在分析、设计和实现间的鸿沟。设计模式的诞生与发展Gang ofFour设计模式的诞生与发展Erich Gamma苏黎世大学计算机科学博士,是Eclipse、JUnit 等项目主要技术负责人之一。John Vlissides斯坦福大学计算机科学博士,原IBM研究员,于2005年11月24日因脑瘤去世,享年44岁。Ralph Johnson 墨尔本大学计算机科学博士,原IBM 研究员,现在波士顿顾问集团供职。Richard Helm康奈尔大学计算机科学博士,伊利诺伊大学教授。Gang of Four设计模式的诞生与发展w软件模式 软件模式是将模式的一般概念应用于软件开发领域,即软件模式是将模式的一般概念应用于软件开发领域,即软件开发的软件开发的总体指导思路或参照样板总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,架构模式、分析模式和过程模式等,实际上,在软件生存期的每一在软件生存期的每一个阶段都存在着一些被认同的模式个阶段都存在着一些被认同的模式。软件模式可以认为是软件模式可以认为是对软件开发这一特定对软件开发这一特定“问题问题”的的“解法解法”的某的某种统一表示种统一表示,它和,它和Alexander所描述的模式定义完全相同,即所描述的模式定义完全相同,即软件软件模式等于一定条件下的出现的问题以及解法模式等于一定条件下的出现的问题以及解法。软件模式的基础结构。软件模式的基础结构由由4个部分构成:个部分构成:问题描述问题描述、前提条件(环境或约束条件)、解法前提条件(环境或约束条件)、解法和和效果效果。设计模式的诞生与发展w软件模式设计模式的诞生与发展w软件模式软件模式与具体的应用领域无关,在模式发现过程中需软件模式与具体的应用领域无关,在模式发现过程中需要遵循要遵循大三律大三律(Rule of Three),即只有经过,即只有经过三个以上三个以上不同类型(或不同领域)的系统不同类型(或不同领域)的系统的校验,一个解决方案的校验,一个解决方案才能从候选模式升格为模式。才能从候选模式升格为模式。设计模式的诞生与发展w设计模式的发展 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 设计模式的诞生与发展w设计模式的发展 1993年年,Kent Beck 和和 Grady Booch 赞助了第一次关于设计模式的会赞助了第一次关于设计模式的会议,这个设计模式研究组织发展成为著名的议,这个设计模式研究组织发展成为著名的Hillside Group研究组。研究组。1994 年年,由,由Hillside Group发起,在美国伊利诺伊州发起,在美国伊利诺伊州(Illinois)的的Allerton Park召开了第召开了第1届关于面向对象模式的世界性会议,名为届关于面向对象模式的世界性会议,名为PLoP(Pattern Languages of Programs,编程语言模式会议编程语言模式会议),简称,简称PLoP94。1995年年,PLoP95 仍在伊利诺伊州的仍在伊利诺伊州的Allerton Park举行举行,“四人组四人组”出版了出版了设计模式:可复用面向对象软件的基础设计模式:可复用面向对象软件的基础(Design Patterns:Elements of Reusable Object-Oriented Software)一书,本书成为一书,本书成为1995年最抢手的面向对象书籍,也成为设计模式的经典书籍。年最抢手的面向对象书籍,也成为设计模式的经典书籍。设计模式的诞生与发展w设计模式的发展 从从1995年至今,设计模式在软件开发中得以广泛应用,年至今,设计模式在软件开发中得以广泛应用,在在Sun的的Java SE/Java EE平台平台和和Microsoft的的.net平平台台设计中就应用了大量的设计模式。设计中就应用了大量的设计模式。诞生了越来越多的与设计模式相关的书籍和网站,设计诞生了越来越多的与设计模式相关的书籍和网站,设计模式也作为一门独立的课程或作为软件体系结构等课程模式也作为一门独立的课程或作为软件体系结构等课程的重要组成部分出现在国内外研究生和大学教育的课堂的重要组成部分出现在国内外研究生和大学教育的课堂上。上。设计模式的定义与分类 w设计模式的定义 设计模式设计模式(Design Pattern)是一套是一套被反复使用、多数人被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结知晓的、经过分类编目的、代码设计经验的总结,使用,使用设计模式是为了可重用代码、让代码更容易被他人理解、设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。保证代码可靠性。设计模式的定义与分类w设计模式的基本要素 设计模式一般有如下几个基本要素:模式名称、问题、设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:中的关键元素包括以下四个方面:模式名称(Pattern name)问题(Problem)解决方案(Solution)效果(Consequences)设计模式的定义与分类w设计模式学习步骤 本书将按照以下次序来学习设计模式:本书将按照以下次序来学习设计模式:模式动机与定义 模式结构与分析 模式实例与解析 模式效果与应用 模式扩展 设计模式的定义与分类w设计模式的分类根据其根据其目的目的(模式是用来做什么的)可分为(模式是用来做什么的)可分为创建型创建型(Creational),结构型结构型(Structural)和和行为型行为型(Behavioral)三种:三种:创建型模式主要用于创建对象。结构型模式主要用于处理类或对象的组合。行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。设计模式的定义与分类w设计模式的分类根据根据范围范围,即模式主要是用于处理类之间关系还是处理,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为对象之间的关系,可分为类模式类模式和和对象模式对象模式两种:两种:类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。GoF设计模式简介 范范围围目的目的创创建型模式建型模式结结构型模式构型模式行行为为型模式型模式类类模式模式工厂方法模式(类)适配器模式解释器模式模板方法模式对对象模式象模式抽象工厂模式建造者模式原型模式单例模式(对象)适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式职责链模式命令模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式访问者模式GoF设计模式简介 w创建型模式抽象工厂模式抽象工厂模式(Abstract Factory)建造者模式建造者模式(Builder)工厂方法模式工厂方法模式(Factory Method)原型模式原型模式(Prototype)单例模式单例模式(Singleton)GoF设计模式简介 w结构型模式适配器模式适配器模式(Adapter)桥接模式桥接模式(Bridge)组合模式组合模式(Composite)装饰模式装饰模式(Decorator)外观模式外观模式(Facade)享元模式享元模式(Flyweight)代理模式代理模式(Proxy)GoF设计模式简介 w行为型模式职责链模式职责链模式(Chain of Responsibility)命令模式命令模式(Command)解释器模式解释器模式(Interpreter)迭代器模式迭代器模式(Iterator)中介者模式中介者模式(Mediator)备忘录模式备忘录模式(Memento)观察者模式观察者模式(Observer)状态模式状态模式(State)策略模式策略模式(Strategy)模板方法模式模板方法模式(Template Method)访问者模式访问者模式(Visitor)设计模式的优点 w 设计模式是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将避免我们做一些重复性的工作,而且可以设计出高质量的软件系统。w设计模式的主要优点如下:设设计计模模式式融融合合了了众众多多专专家家的的经经验验,并并以以一一种种标标准准的的形形式式供供广广大大开开发发人人员员所所用用,它它提提供供了了一一套套通通用用的的设设计计词词汇汇和和一一种种通通用用的的语语言言以以方方便便开开发发人人员员之之间间沟沟通通和和交交流流,使使得得设设计计方方案案更更加加通通俗俗易易懂懂。对对于于使使用用不不同同编编程程语语言言的的开开发发和和设设计计人人员员可可以以通通过过设设计计模模式式来来交交流流系系统统设设计计方方案案,每每一一个个模模式式都都对对应应一一个个标标准准的的解解决决方方案案,设设计计模模式式可可以以降降低低开发人员理解系统的复杂度开发人员理解系统的复杂度。设计模式的优点 设设计计模模式式使使人人们们可可以以更更加加简简单单方方便便地地复复用用成成功功的的设设计计和和体体系系结结构构,将将已已证证实实的的技技术术表表述述成成设设计计模模式式也也会会使使新新系系统统开开发发者者更更加加容容易易理理解解其其设设计计思思路路。设设计计模模式式使使得得重重用用成成功功的的设设计计更更加加容容易易,并并避避免免那那些些导致不可重用的设计方案。导致不可重用的设计方案。设计模式设计模式使得设计方案更加灵活,且易于修改使得设计方案更加灵活,且易于修改。设设计计模模式式的的使使用用将将提提高高软软件件系系统统的的开开发发效效率率和和软软件件质质量量,且且在在一一定定程度上程度上节约设计成本节约设计成本。设设计计模模式式有有助助于于初初学学者者更更深深入入地地理理解解面面向向对对象象思思想想,一一方方面面可可以以帮帮助助初初学学者者更更加加方方便便地地阅阅读读和和学学习习现现有有类类库库与与其其他他系系统统中中的的源源代代码码,另一方面还可以提高软件的设计水平和代码质量。另一方面还可以提高软件的设计水平和代码质量。本章小结w模式是在特定环境中解决问题的一种方案。wGoF(Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides)最先将模式的概念引入软件工程领域,他们归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。w软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式可以认为是对软件开发这一特定“问题”的“解法”的某种统一表示,即软件模式等于一定条件下的出现的问题以及解法。本章小结w设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。w设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。w设计模式根据其目的可分为创建型,结构型和行为型三种;根据范围可分为类模式和对象模式两种。w设计模式是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将避免我们做一些重复性的工作,而且可以设计出高质量的软件系统。ENDEND

    注意事项

    本文(《设计模式概述》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开