- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章_建型模式
第二章 创建型模式 课程目标 创建型模式概述 各种创建型模式的介绍 各种创建型模式的结构图 各种创建型模式的示例 各种创建型模式的优缺点 体验项目——处理界面的不同风格 比如要求开发一个界面程序,该界面中包含有按钮、文本框等控件,要求按钮、文本框等控件,并希望能够按使用者的要求显示不同的风格。 创建型模式概述 为什么需要创建型模式 Abstract Factory 模式 Abstract Factory 模式结构图 抽象工厂模式结构图如下: Abstract Factory 模式示例 Abstract Factory 模式优势和不足 Builder模式 Builder模式结构图 建造模式结构图如下: Builder模式示例 Builder模式优势和不足 Factory Method模式 Factory Method模式结构图 工厂方法模式结构图如下: Factory Method模式示例 Factory Method模式优势和不足 Prototype模式 Prototype模式结构图 原型模式结构图如下: Prototype模式示例 Prototype模式优势和不足 Singleton模式 Singleton模式结构图 单例模式结构图如下: Singleton模式示例 Singleton模式优势和不足 实践项目——处理界面的不同风格 程序的实现要求如下: (1)创建抽象工厂类Factory。 (2)ModernFactory和 ClassicalFactory是Factory的具体实现,分别负责实例化ModernButton和ModernText对象、ClassicalButton和ClassicalText对象。 (3)创建ModernButton、ClassicalButton和ButtonFace类,ModernButton和ClassicalButton类是ButtonFace类的子类。创建ModernText、ClassicalText和TextFace类,ModernText和ClassicalText类是TextFace类的子类。 本章总结 创建型模式概述 各种创建型模式的介绍 各种创建型模式的结构图 各种创建型模式的示例 各种创建型模式的优缺点 * * 该项目使用抽象工厂(Abstract Factory)模式来处理按钮、文本框等的不同风格,程序中类之间的关系如图所示: Factory是一个抽象工厂,定义了createButtonFace()和createTextFace()两个抽象方法。 ModernFactory是Factory的一个具体实现,它负责实例化ModernButton和ModernText对象。 ClassicalFactory是Factory的另一个具体实现,它负责实例化ClassicalButton和ClassicalText对象。 ModernButton和ClassicalButton类是ButtonFace的子类,分别代表按钮的不同风格 ModernText和ClassicalText类是TextFace的子类,分别代表文本框的不同风格。 什么是创建型模式 创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。 创建型模式关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关心创建对象过程中的逻辑。 所有的创建型模式都有两个永恒的主旋律: 它们都将系统使用的哪些具体类的信息封装起来 它们隐藏了这些类的实例是如何被创建和组织的 由于设计模式的原则,面向接口进行编程,而不是实现。 名称必须是构造函数,名称受限。 传统的创建,每次创建都会返回一个新的对象,然而在实际项目中需要某一个类仅创建一个实例,来反复使用已经创建的对象。 传统的创建中构造函数返回的类型都是具体的类型,而使用工厂模式可以返回其子类型。 主要有以下几个方面的原因: 动态地确定创建哪些对象。 是谁创建这些对象,即是外部的对象,还是本身对象提供,或者静态的类继承。 动态决定怎样创建对象,是新建对象或是使用Cache,还是复制某个对象。 决定怎样组合或者表示这些对象。 在实际的系统中使用创建型模式创建对象时需要考虑到以下几点: 抽象工厂(Abstract Factory)模式又称为Kit模式,属于对象创建型模式,它拥有比简单工厂模式和工厂方法模式更高的抽象性,是所有工厂模式中最为抽象和最具一般性的形态。抽象工厂模式是一种重要的架构型组件(Architectural Component)
您可能关注的文档
- 真菌感染一线首选90409 ppt课件.ppt
- 眼动研究探渠立松.ppt
- 真空泵结构原理培训坤军 ppt课件.ppt
- 相亲相爱一家人---高175班一主班会讲解材料.ppt
- 盾构司机培训217 ppt课件.pptx
- 眼科学考重点总结.docx
- 眼科病床安排模型及仿真算数学建模.doc
- 眼部解剖及酸碱烧伤 pt课件.pptx
- 矛和盾的合 ppt课件.ppt
- 知 识产保护措施报告.docx
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)