- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
构造型的设计模式 姜中华 造型模式 创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。 类创建模式使用继承改变被实例化的类 对象创建模式将实例化委托给另一个对象。 随着系统变得更依赖复合(非继承),创建型模式变得更重要。模式使得从对一组固定行为的硬编码(hard-coding)转移为定义一组基本行为集。 构造型模式 创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。 类创建模式使用继承改变被实例化的类 对象创建模式将实例化委托给另一个对象。 随着系统变得更依赖复合(非继承),创建型模式变得更重要。模式使得从对一组固定行为的硬编码(hard-coding)转移为定义一组基本行为集。 构造型模式的特点 模式允许用结构和功能差异很大的“产品”对象配置一个系统。配置可以是静态的,也可以是动态的。共同特点: 将系统使用的具体类的信息封装起来 隐藏了具体类实例的创建和组合过程 整个系统使用由抽象类所定义的接口 模式使得对象的创建具有很大的灵活性 常用的构造型模式 创建型模式是紧密相关的,常用的创建型模式如下: Prototype Abstract Factory Builder Prototype Singleton Abstract Factory 抽象工厂模式 Abstract Factory 目的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 举例:考虑一个支持多种视觉标准的GUI工具包,如Motif和Presentation Manager。不同视感标准为“窗口组件” (滚动条;窗口和按钮等)定义了不同的外观和行为。为保证视觉标准的可移植性,一个应用不应为特定的视觉外观硬编码其窗口组件。在整个应用中实例化特定视感风格的窗口组件类日后将很难改变视感风格。 示例的解决方法 定义一个抽象类WidgetFactory,它声明了用来创建每一类基本窗口组件的接口。每一类窗口组件都有一个抽象类,而具体子类则实现了窗口组件的特定视觉风格。 对每个抽象窗口组件类,WidgetFactory都有一个返回该类对象的操作(方法)。 客户调用这些操作来获得窗口组件实例,但客户并不知道正在使用的是哪些具体类。这样客户就不依赖于某特定的视觉风格。 示例的解决方法 定义一个抽象类WidgetFactory,它声明了用来创建每一类基本窗口组件的接口。每一类窗口组件都有一个抽象类,而具体子类则实现了窗口组件的特定视觉风格。 对每个抽象窗口组件类,WidgetFactory都有一个返回该类对象的操作(方法)。 客户调用这些操作来获得窗口组件实例,但客户并不知道正在使用的是哪些具体类。这样客户就不依赖于某特定的视觉风格。 类框图 产生的代码(AbstractFactory) ConcreteFactory/MotifWidgetFactory AbstractProduct ConcreteProduct/Window Client Abstract Factory的适应性 系统要独立于它的产品的创建、组合和表示时 系统要由多个产品系列中之一来配置时 当要强调一系列相关的产品对象的设计以便进行联合使用时 当你提供一个产品类库,而只想显示它们的接口而不是实现时 Abstract Factory的结构 Abstract Factory的适应性 系统要独立于它的产品的创建、组合和表示时 系统要由多个产品系列中之一来配置时 当要强调一系列相关的产品对象的设计以便进行联合使用时 当你提供一个产品类库,而只想显示它们的接口而不是实现时 Abstract Factory的优缺点 它分离了具体的类,帮你控制应用创建的对象的类 它使得易于交换产品系列一个具体工厂类在一个应用中仅出现一次—即在它初始化的时候 它有利于产品的一致性,应用一次只能使用同一系列中的对象 难以支持新种类的产品,这将涉及Abstract Factory类及其所有子类的改变 要求每个产品系列都要有一个新的具体工厂子类,其差别很小 Factory Method 工厂方法 Factory Method 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类 框架使用抽象类定义和维护对象之间的关系,这些对象的创建通常也由框架负责 Factory Method应用举例 考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两个主要的抽象是类Application和Document。这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的实现。例如,为创建一个绘图应用,我们定义类Drawing Application和Drawing Docu ment Applicati
您可能关注的文档
- 08年闵行区初中物理模拟卷分析.doc
- 08年上海物理试卷分析.doc
- 08年新教案千字童分析.doc
- 08年中考物理上海分析.doc
- 08神经组织2大班%2C皮肤教学.ppt
- 08网页设计与制作B答案分析.doc
- 08需要、动机与激励管理分析.doc
- 08脂代谢 ytw教学.ppt
- 09 第九单元 创伤和战伤分析.doc
- 09.第九章 蛋白质分解代谢教学.ppt
- 2024-2025学年辽宁省锦州市渤海大学附属高级中心高一下学期期中考试历史试题.doc
- 2025届四川省凉山彝族自治州高三下学期第三次诊断性考试历史试题.doc
- 2025届北京市东城区高三下学期综合练习(二)历史试题.doc
- 2025届山西省太原市高三下学期5月模拟考试(三)历史试题.doc
- 2025至2030中国能源行业市场发展现状及前景趋势与行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国药品行业发展分析及产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国起停技术行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国移民服务行业市场发展现状及前景趋势与行业项目调研及市场前景预测评估报告.docx
- 2025届山东省济南市高三上学期1月期末考试政治试卷(含答案).pdf
- 2025届江苏徐州高三下学期模拟预测物理试题(含答案).pdf
最近下载
- 临床检验项目互认工作指引(2025年版).docx
- 多精受精胚胎的发育潜能及临床价值研究的中期报告.docx
- 医疗器械售后工程师职业规划.pptx VIP
- 工程管理员面试题(考官用).docx VIP
- 高考作文主题训练:倾听理性声音.docx VIP
- 年产2万吨染色针织布项目策划方案(模板).docx
- 井工煤矿防治水“三区”管理报告编制提纲.docx VIP
- 2025年湖南金叶烟草薄片有限责任公司招聘笔试参考题库附带答案详解.docx
- 5G优化案例:4&5G多网协同专项调优案例.docx VIP
- 模块化多电平换流器等效模型的研究-来源:现代电子技术(第2019010期)-陕西电子杂志社、陕西省电子技术研究所,其中陕西电子杂志社为主要主办单位.pdf VIP
文档评论(0)