设计模式概述.ppt
《设计模式概述.ppt》由会员分享,可在线阅读,更多相关《设计模式概述.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机学院软件工程系计算机学院软件工程系设计模式设计模式设计模式设计模式 重庆理工大学-授课:张金荣Email: QQ:(即1211460305)电话:13983103704第第1章章 设计模式概述设计模式概述v莫勇腾,莫勇腾,深入浅出设计模式(深入浅出设计模式(C#、Java版)版)使用教材使用教材本书是一本通俗易懂的设计模式入门指导图书。作者用C#和Java两种语言,借助现实生活范例和图片演示,全面阐释GRASP及GoF 23种设计模式的概念及其编程应用,帮助你领悟设计模式的思想及精华,并将其融会贯通、灵活应用到自己的开发过程中。全书用两章篇幅对设计模式和GRASP作了基本介绍,用三章的篇
2、幅全面展开对23种设计模式的讲解:对于每一种模式,先给出定义,接着通过类比方式用一个现实世界中的例子说明模式的应用,然后分别以C#和Java代码例述模式的架构实现。最后一章给出了两个设计模式综合案例,为读者实践设计模式提供了很好的学习环境。附录部分精心安排了自测题及答案,供读者练习并检验学习效果。本书适合程序开发人员阅读,尤其适合作为大学计算机专业高年级学生和研究生的教学参考书。设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述设计模式概述设计模式概述1负责任地设计对象负责任地设计对象2GoF-创建型设计模式创建型设计模式3GoF-结构型设计模式结构型设计模式4GoF-行为型设计
3、模式行为型设计模式5模式的综合应用模式的综合应用6教材的章节分布教材的章节分布设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述 参考教材参考教材设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述经典的经典的23种模式总浏览种模式总浏览创建型结构型行为型类工厂方法工厂方法(FactoryMethod)适配器适配器(Adapter)解释器解释器(Interpreter)模板方法模板方法(TemplateMethod)对象抽象工厂抽象工厂(AbstractFactory)生成器生成器(Builder)原型原型(Prototype)单态单态(Singleton)适配器适配
4、器(Adapter)桥接桥接(Bridge)组成组成(Composite)装饰装饰(Decorator)外观外观(Facade)享元享元(Flyweight)代理代理(Proxy)责任链责任链(ChainofResponsibility)命令命令(Command)迭代器迭代器(Iterator)中介者中介者(Mediator)备忘录备忘录(Memento)观察者观察者(Observer)状态状态(State)策略策略(Strategy)访问者访问者(Visitor)设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述这本书是设计模式的开创性著作vDesignPatternsElem
5、entsvofReusablevObject-OrientedSoftwarev作者作者E.GammaR.Helm,R.JohnsonJ.Vlissidesv四位作者通常被称为四人帮四位作者通常被称为四人帮(GangofFour,或或GoF),带有戏虐成分带有戏虐成分。设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述 通过课程学习,掌握面向对象思维方法,了解面向对象技术所涉及的各个领域。加强如何专业化地进行面向对象设计,进一步利用工具进行UML建模。学习面向对象程序设计中常用的一些设计模式(Design Patterns)。优化程序设计方法和框架,设计结构良好的程序。对实际案例
6、进行讨论,实习,提高解决实际问题的能力。教学目标教学目标 教学目标教学目标设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述l考核方式(拟)考核方式(拟)v考勤考勤20分分v平时成绩平时成绩20分分v考试(闭卷)考试(闭卷)60分分设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述基本概念 1.1什么是设计模式什么是设计模式1.2设计模式的作用设计模式的作用1.3GRASP模式的分类模式的分类1.4GoF设计模式的分类设计模式的分类1.5模式的学习阶段模式的学习阶段第第1章章设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述1.1 什么是设计模式从一个
7、例子开始:从一个例子开始:设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:这么做可以吗?这么做可以吗?设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:怎么办?怎么办?设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:诱饵鸭诱饵鸭设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:?设计模式-重庆理工软件工程系第第1章
8、章 设计模式概述设计模式概述从一个例子开始:v最终基类最终基类设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:v最终实现类最终实现类设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述实现具体鸭子类设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述测试代码设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述从一个例子开始:v在鸭子的最终
9、实现类中在鸭子的最终实现类中那怎么办?那怎么办?设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述1.1 什么是设计模式定义:定义:“设计模式描述了软件设计过程中某一类常设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。见问题的一般性的解决方案。”因此,简单地说,因此,简单地说,我们在发现问题到解决问题这个过程中,常会发我们在发现问题到解决问题这个过程中,常会发现很多问题是重复出现的,或是某个问题的变体,现很多问题是重复出现的,或是某个问题的变体,外在不同,而本质相同,这些问题的本质就是软外在不同,而本质相同,这些问题的本质就是软件的设计模式。每一种设计模式都有其解决
10、的特件的设计模式。每一种设计模式都有其解决的特定问题,需求的变化,导致我们用到的解决该问定问题,需求的变化,导致我们用到的解决该问题的模式随之改变。题的模式随之改变。设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述v我们处理大量问题时我们处理大量问题时,在很多不同的问题中在很多不同的问题中重复出重复出现的一种性质现的一种性质,它使得我们可以使用一种方法来它使得我们可以使用一种方法来描述问题实质并用描述问题实质并用本质上相同本质上相同,但细节永不会重但细节永不会重复复的方法去解决的方法去解决,这种性质就叫这种性质就叫模式模式。v程序设计是思维具体化的一种方式,是思考如何程序设计是
11、思维具体化的一种方式,是思考如何解决问题的过程。设计模式是在解决问题的过程解决问题的过程。设计模式是在解决问题的过程中,一些良好思路的经验集成。中,一些良好思路的经验集成。设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述1.2 设计模式的作用v为什么要学习设计模式为什么要学习设计模式原因有很多,一些非常明显,而另一些则不那么明原因有很多,一些非常明显,而另一些则不那么明显。学习模式最常见的理由是因为我们可以借其:显。学习模式最常见的理由是因为我们可以借其:复用解决方案解决方案通过复用已经公认的设计,我能够在通过复用已经公认的设计,我能够在解决问题时取得先发优势,而且避免重蹈前人
12、覆辙。我可解决问题时取得先发优势,而且避免重蹈前人覆辙。我可以从学习他人的经验中获益,用不着为那些总是会重复出以从学习他人的经验中获益,用不着为那些总是会重复出现的问题再次设计解决方案了;现的问题再次设计解决方案了;确立通用术语确立通用术语开发中的交流和协作都需要共同的词开发中的交流和协作都需要共同的词汇基础和对问题的共识。设计模式在项目的分析和设计阶汇基础和对问题的共识。设计模式在项目的分析和设计阶段提供了共同的基准点。模式还为我们提供了观察问题、段提供了共同的基准点。模式还为我们提供了观察问题、设计过程和面向对象的更高层次的视角,这将使我们从设计过程和面向对象的更高层次的视角,这将使我们从
13、“过早处理细节过早处理细节”的桎梏中解放出来的桎梏中解放出来易重构设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述1.3 GRASP模式的分类2.1InformationExpert(信息专家(信息专家)2.2Creator(创造者(创造者)2.3LowCoupling(低耦合(低耦合)2.4HighCohesion(高内聚(高内聚)2.5Controller(控制器(控制器)2.6Polymorphism(多态(多态)2.7PureFabrication(纯虚构(纯虚构)2.8Indirection(间接(间接)2.9ProtectedVariations(受保护变化(受保护
14、变化)设计模式-重庆理工软件工程系第第1章章 设计模式概述设计模式概述1.4 GoF设计模式的分类v关于关于“DesignPattern”v对已有模式的整理、分类对已有模式的整理、分类v一套描述模式的词汇,可用于交流和文档化一套描述模式的词汇,可用于交流和文档化v为软件设计总结了宝贵的经验,这些设计经验可以被重用,为软件设计总结了宝贵的经验,这些设计经验可以被重用,但不是简单的代码重用但不是简单的代码重用v分类:分类:CreationalPatternsStructuralPatternsBehavioralPatternsv在软件设计模式领域,起到先驱的作用在软件设计模式领域,起到先驱的作用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 模式 概述
限制150内