《构造型设计模式》PPT课件

《构造型设计模式》PPT课件

ID:45545239

大小:222.00 KB

页数:39页

时间:2019-11-14

《构造型设计模式》PPT课件_第1页
《构造型设计模式》PPT课件_第2页
《构造型设计模式》PPT课件_第3页
《构造型设计模式》PPT课件_第4页
《构造型设计模式》PPT课件_第5页
资源描述:

《《构造型设计模式》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、构造型的设计模式姜中华造型模式创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。类创建模式使用继承改变被实例化的类对象创建模式将实例化委托给另一个对象。随着系统变得更依赖复合(非继承),创建型模式变得更重要。模式使得从对一组固定行为的硬编码(hard-coding)转移为定义一组基本行为集。构造型模式创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。类创建模式使用继承改变被实例化的类对象创建模式将实例化委托给另一个对象。随着系统

2、变得更依赖复合(非继承),创建型模式变得更重要。模式使得从对一组固定行为的硬编码(hard-coding)转移为定义一组基本行为集。构造型模式的特点模式允许用结构和功能差异很大的“产品”对象配置一个系统。配置可以是静态的,也可以是动态的。共同特点:将系统使用的具体类的信息封装起来隐藏了具体类实例的创建和组合过程整个系统使用由抽象类所定义的接口模式使得对象的创建具有很大的灵活性常用的构造型模式创建型模式是紧密相关的,常用的创建型模式如下:PrototypeAbstractFactoryBuilde

3、rPrototypeSingletonAbstractFactory抽象工厂模式AbstractFactory目的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类举例:考虑一个支持多种视觉标准的GUI工具包,如Motif和PresentationManager。不同视感标准为“窗口组件”(滚动条;窗口和按钮等)定义了不同的外观和行为。为保证视觉标准的可移植性,一个应用不应为特定的视觉外观硬编码其窗口组件。在整个应用中实例化特定视感风格的窗口组件类日后将很难改变视感风格。示例的

4、解决方法定义一个抽象类WidgetFactory,它声明了用来创建每一类基本窗口组件的接口。每一类窗口组件都有一个抽象类,而具体子类则实现了窗口组件的特定视觉风格。对每个抽象窗口组件类,WidgetFactory都有一个返回该类对象的操作(方法)。客户调用这些操作来获得窗口组件实例,但客户并不知道正在使用的是哪些具体类。这样客户就不依赖于某特定的视觉风格。示例的解决方法定义一个抽象类WidgetFactory,它声明了用来创建每一类基本窗口组件的接口。每一类窗口组件都有一个抽象类,而具体子类则实

5、现了窗口组件的特定视觉风格。对每个抽象窗口组件类,WidgetFactory都有一个返回该类对象的操作(方法)。客户调用这些操作来获得窗口组件实例,但客户并不知道正在使用的是哪些具体类。这样客户就不依赖于某特定的视觉风格。类框图产生的代码(AbstractFactory)ConcreteFactory/MotifWidgetFactory依赖关系AbstractProductConcreteProduct/WindowClientFactory.CreateWindow()Factory.Cre

6、ateWindow()Factory=newMotifWidgetFactory();Window*win=Factory.CreateWindow()AbstractFactory的适应性系统要独立于它的产品的创建、组合和表示时系统要由多个产品系列中之一来配置时当要强调一系列相关的产品对象的设计以便进行联合使用时当你提供一个产品类库,而只想显示它们的接口而不是实现时AbstractFactory的结构AbstractFactory将产品对象的创建延迟到它的ConcreteFactory继承实例

7、化AbstractFactory的适应性系统要独立于它的产品的创建、组合和表示时系统要由多个产品系列中之一来配置时当要强调一系列相关的产品对象的设计以便进行联合使用时当你提供一个产品类库,而只想显示它们的接口而不是实现时AbstractFactory的优缺点它分离了具体的类,帮你控制应用创建的对象的类它使得易于交换产品系列一个具体工厂类在一个应用中仅出现一次—即在它初始化的时候它有利于产品的一致性,应用一次只能使用同一系列中的对象难以支持新种类的产品,这将涉及AbstractFactory类及其

8、所有子类的改变要求每个产品系列都要有一个新的具体工厂子类,其差别很小增加洗衣机FactoryMethod工厂方法FactoryMethod定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类框架使用抽象类定义和维护对象之间的关系,这些对象的创建通常也由框架负责FactoryMethod应用举例考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两个主要的抽象是类Application和Document。这两个类都是抽象的,客户必须

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。