您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 01.设计模式.概述
LOGO设计模式(DesignPattern)武汉科技大学设计模式课程(一级学科)计算机科学与技术(二级学科)计算机体系结构计算机软件与理论计算机应用(专业方向)软件工程智能辅助决策支持系统计算机辅助设计计算机网络与分布式系统数据库系统与多媒体信息自然语言处理与机器翻译算法的设计与计算复杂性并行计算与petri网武汉科技大学设计模式课程软件工程这个学科已发展为计算机科学与技术、数学、工程学、管理学等相关学科的交叉性学科软件工程学科涉及到学术研究与工程应用两个层次武汉科技大学设计模式课程随着计算机软件工程技术和面向对象技术的发展,设计模式已经成为软件设计人员必须掌握的思想和技术。可以说只有设计模式才能真正实现代码编制的工程化,才能真正实现代码的重用性和可维护性。武汉科技大学设计模式发展模式之父——美国加利佛尼亚大学环境结构中心研究所所长ChristopherAlexander博士。武汉科技大学设计模式发展《APatternLanguage:Towns,Buildings,Construction》书中讲述了建筑领域的253个模式,用“模式”(Pattern)这一词来描述建筑的构造方法,并为模式的作出了定义,指出这些模式并不会随着时间消逝而褪色。武汉科技大学设计模式发展Alexander给出的模式经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地使用那些已有的解决方案,无需再重复相同的工作。模式:Apatternisasuccessfulorefficientsolutiontoarecurringproblemwithinacontext——模式是在特定环境下人们解决某类重复问题的一套成功或有效的解决方案。武汉科技大学设计模式发展到1987年,KentBeck和WardCunningham开始尝试把设计模式引入到编程世界,并在OOPSLA大会上发表了自己的看法。OOPSLA(Object-OrientedProgramming,Systems,Languages&Applications,面向对象编程、系统、语言和应用大会)是编程语言及软件工程国际顶级会议,主办方是计算机协会(ACM)。2010年改为SPLASH---Systems,Programming,LanguagesandApplications:SoftwareforHumanity。武汉科技大学设计模式发展1994年10月,被称为四人帮(GoF)的ErichGamma,RichardHelm,RalphJohnsonandJohnVlissides四人编写的书籍“DesignPatterns:ElementsofReusableObject-OrientedSoftware”面世,武汉科技大学设计模式发展这本书在后来设计模式学习和研究中影响非常广泛,到2007年为止共重印36次,被翻译成13种其他语言。在此书中,GOF总结了多年来软件开发人员的实践经验和研究成果,收编了23个最常用的设计模式,可谓影响深远。武汉科技大学苏黎世大学计算机科学博士,是Eclipse、JUnit等项目主要技术负责人之一。JohnVlissides斯坦福大学计算机科学博士,原IBM研究员,于2005年11月24日因脑瘤去世,享年44岁。RalphJohnson墨尔本大学计算机科学博士,原IBM研究员,现在波士顿顾问集团供职。RichardHelm康奈尔大学计算机科学博士,伊利诺伊大学教授。武汉科技大学设计模式发展时至今日,这本书仍有不计其数的兄弟书籍诞生出来,可谓影响深远。武汉科技大学设计模式发展现在,除了最常提到的GoF的23种设计模式之外,不断有各种各样的模式提出来,包括分析模式、架构模式、过程模式、组织模式、实现模式、反模式……武汉科技大学设计模式发展软件设计模式的发展1987年,KentBeck和WardCunningham借鉴Alexander的模式思想在程序开发中开始应用一些模式,在OOPSLA会议上发表了他们的成果。1990年,OOPSLA与ECOOP联合举办,ErichGamma和RichardHelm等人开始讨论有关模式的话题(BruceAnderson主持),“四人组”正式成立,并开始着手进行设计模式的分类整理工作。1991年,OOPSLA,BruceAnderson主持了首次针对设计模式的研讨会。1992年,OOPSLA,Anderson再度主持研讨会,模式已经逐渐成为人们讨论的话题。武汉科技大学设计模式发展软件设计模式的发展1993年,KentBeck和GradyBooch赞助了第一次关于设计模式的会议,这个设计模式研究组织发展成为著名的HillsideGroup研究组。Hillside小组是模式社区的基石。它在全世界赞助了多次PLoP会议,包括北美的PLoP、斯堪的纳维亚的VikingPLoP和欧洲的EuroPLoP。此外,《PatternLanguagesofProgramDesign》系列丛书也是在Hillside的赞助下出版的。武汉科技大学设计模式发展软件设计模式的发展1994年,由HillsideGroup发起,在美国伊利诺伊州(Illinois)的AllertonPark召开了第1届关于面向对象模式的世界性会议,名为PLoP(PatternLanguagesofPrograms,编程语言模式会议),简称PLoP‘94。1995年,PLoP‘95仍在伊利诺伊州的AllertonPark举行,“四人组”出版了《设计模式:可复用面向对象软件的基础》(DesignPatterns:ElementsofReusableObject-OrientedSoftware)一书,本书成为1995年最抢手的面向对象书籍,也成为设计模式的经典书籍。武汉科技大学设计模式发展软件设计模式的发展从1995年至今,设计模式在软件开发中得以广泛应用,在Sun的JavaSE/JavaEE平台和Microsoft的.net平台设计中就应用了大量的设计模式。诞生了越来越多的与设计模式相关的书籍和网站,设计模式也作为一门独立的课程或作为软件体系结构等课程的重要组成部分出现在国内外研究生和大学教育的课堂上。武汉科技大学设计模式定义设计模式的定义设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。武汉科技大学设计模式定义设计模式的基本要素设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:•模式名称(Patternname)•问题(Problem)•解决方案(Solution)•效果(Consequences)通过一两个词来为模式命名,以便我们更好地理解模式,并方便开发人员之间的交流,通常模式都是根据其功能或结构命名。描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因。描述了一个设计模式的组成部分,以及这些组成部分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码进行描述。描述了模式的优缺点以及在使用模式时应权衡的问题。武汉科技大学设计模式定义设计模式学习步骤本课程将按照以下次序来学习设计模式:•模式动机与定义•模式结构与分析•模式实例与解析•模式效果与应用•模式扩展武汉科技大学设计模式分类设计模式的分类根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:•创建型模式主要用于如何创建对象。•结构型模式主要用于如何实现类或对象的组合。•行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。武汉科技大学设计模式分类设计模式的分类根据范围,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为类模式和对象模式两种:•类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。•对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。武汉科技大学设计模式分类范围\目的创建型模式结构型模式行为型模式类模式FactoryMethodAdapter_ClassInterpreterTemplateMethod对象模式AbstractFactoryBuilderPrototypeSingletonAdapter_ObjectBridgeCompositeDecoratorFacadeFlyweightProxyChainofResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor武汉科技大学设计模式分类范围\目的创建型模式结构型模式行为型模式类模式工厂方法模式(类)适配器模式解释器模式模板方法模式对象模式抽象工厂模式建造者模式原型模式单例模式(对象)适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式职责链模式命令模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式访问者模式武汉科技大学设计模式分类创建型模式抽象工厂模式(AbstractFactory)建造者模式(Builder)工厂方法模式(FactoryMethod)原型模式(Prototype)单例模式(Singleton)武汉科技大学设计模式分类结构型模式适配器模式(Adapter)桥接模式(Bridge)组合模式(Composite)装饰模式(Decorator)外观模式(Facade)享元模式(Flyweight)代理模式(Proxy)Attack?要我干啥嘛?N品牌手机游戏N品牌手机游戏手机游戏类武汉科技大学设计模式分类行为型模式职责链模式(ChainofResponsibility)命令模式(Command)迭代器模式(Iterator)中介者模式(Mediator)备忘录模式(Memento)观察者模式(Observer)状态模式(State)策略模式(Strategy)模板方法模式(TemplateMethod)访问者模式(Visitor)解释器模式(Interpreter)意大利英国美国巴西俄罗斯中国德国法国南非印度加法/减法解释器加法/减法解释器1+2+3–4+1计算3输入表达式:结果显示:武汉科技大学设计模式优点设计模式是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将避免我们做一些重复性的工作,而且可以设计出高质量的软件系统。武汉科技大学设计模式优点设计模式融合
本文标题:01.设计模式.概述
链接地址:https://www.777doc.com/doc-4395380 .html