设计模式概述ppt课件.pptx
《设计模式概述ppt课件.pptx》由会员分享,可在线阅读,更多相关《设计模式概述ppt课件.pptx(81页珍藏版)》请在三一办公上搜索。
1、Design Patterns,设计模式概述,引言,欢迎进入模式世界!,设计模式的诞生与发展,模式的诞生与定义 模式(Pattern)起源于建筑业而非软件业模式之父美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士A Pattern Language: Towns, Buildings, Construction253个建筑和城市规划模式模式Context(模式可适用的前提条件)Theme或Problem(在特定条件下要解决的目标问题)Solution(对目标问题求解过程中各种物理关系的记述),设计模式的诞生与发展,Christopher Alexander
2、,设计模式的诞生与发展,模式的诞生与定义 Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,人们可以无数次地重用那些已有的解决方案,无须再重复相同的工作,设计模式的诞生与发展,软件模式概述 20世纪80年代末,软件工程界开始关注Christopher Alexander等在这一住宅、公共建筑与城市规划领域的重大突破“四人组(Gang of Four,GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”于1994年归纳发表了23种
3、在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟,设计模式的诞生与发展,Gang ofFour (GoF),设计模式的诞生与发展,Erich Gamma,苏黎世大学计算机科学博士,是Eclipse、 JUnit 等项目的负责人,John Vlissides,斯坦福大学计算机科学博士,原IBM研究员,于2005年11月24日因脑瘤去世,享年44岁,Ralph Johnson,墨尔本大学计算机科学博士,原IBM 研究员,现供职于波士顿顾问集团,Richard Helm,康奈尔大学计算机科学博士,伊利诺伊大学教授,Gang of Four,设计模式的诞生
4、与发展,软件模式概述 软件模式:在一定条件下的软件开发问题及其解法 问题描述 前提条件(环境或约束条件) 解法 效果,设计模式的诞生与发展,软件模式概述,设计模式的诞生与发展,设计模式的发展 从1995年至今,设计模式在软件开发中得以广泛应用,在Sun的Java SE/Java EE平台和Microsoft的.NET平台设计中应用了大量的设计模式轻量级框架:Struts、Spring、Hibernate、JUnit、NHibernate、NUnit 语言:C+、Java、C#、Objective-C、 VB.net、Smalltalk、PHP、 Delphi、JavaScript、Ruby得到
5、越来越多的企业和高校的关注与重视越来越多的书籍和网站,设计模式的定义与分类,设计模式的定义 设计模式(Design Pattern)一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结是一种用于对软件系统中不断重现的设计问题的解决方案进行文档化的技术是一种共享专家设计经验的技术目的:为了可重用代码、让代码更容易被他人理解、提高代码可靠性,设计模式的定义与分类,设计模式的定义,设计模式的定义与分类,设计模式的分类根据目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三类: 创建型模式主要用于创建对象 结构型
6、模式主要用于处理类或对象的组合 行为型模式主要用于描述类或对象如何交互和怎样分配职责,GoF设计模式简介,设计模式的优点,融合了众多专家的经验,并以一种标准的形式供广大开发人员所用提供了一套通用的设计词汇和一种通用的语言,以方便开发人员之间进行沟通和交流,使得设计方案更加通俗易懂让人们可以更加简单方便地复用成功的设计和体系结构使得设计方案更加灵活,且易于修改将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本有助于初学者更深入地理解面向对象思想,方便阅读和学习现有类库与其他系统中的源代码,还可以提高软件的设计水平和代码质量,单例模式工厂模式代理模式命令模式策略模式,单例模式概述,Wi
7、ndows任务管理器,在正常情况下只能打开唯一一个任务管理器!,单例模式概述,如何保证一个类只有一个实例并且这个实例易于被访问?(1) 全局变量:可以确保对象随时都可以被访问,但不能防止创建多个对象(2) 让类自身负责创建和保存它的唯一实例,并保证不能创建其他实例,它还提供一个访问该实例的方法,单例模式,单例模式概述,单例模式的定义,Only one!,单例模式概述,单例模式的定义要点:某个类只能有一个实例必须自行创建这个实例必须自行向整个系统提供这个实例,单例模式的结构与实现,单例模式的结构,单例模式的结构与实现,单例模式的结构单例模式只包含一个单例角色:Singleton(单例),单例模式
8、的结构与实现,单例模式的实现私有构造函数静态私有成员变量(自身类型)静态公有的工厂方法,简单工厂模式概述,简单工厂模式示意图,客户端,工厂,产品,参数,简单工厂模式概述,简单工厂模式基本实现流程具体产品类:将需要创建的各种不同产品对象的相关代码封装到具体产品类中抽象产品类:将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中工厂类:提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入参数的不同创建不同的具体产品对象客户端:只需调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象,简单工厂模式概述,简单工厂模式的定义,简单工厂模式概述,简单工厂模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 模式 概述 ppt 课件
链接地址:https://www.31ppt.com/p-1901512.html