1 / 22
文档名称:

抽象工厂模式.ppt

格式:ppt   页数:22页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

抽象工厂模式.ppt

上传人:分享精品 2016/1/8 文件大小:0 KB

下载得到文件列表

抽象工厂模式.ppt

文档介绍

文档介绍:Design PatternsDesign Patterns????????????河南理工大学大纲?产品等级结构与产品族?抽象工厂模式概述?抽象工厂模式的结构与实现?抽象工厂模式的应用实例?开闭原则的倾斜性?抽象工厂模式的优缺点与适用环境产品等级结构与产品族?工厂方法模式?每个具体工厂只有一个或者一组重载的工厂方法,只能生产一种产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销?抽象工厂模式?一个工厂可以生产一系列产品(一族产品),极大减少了工厂类的数量产品等级结构与产品族?概念?产品等级结构:产品等级结构即产品的继承结构?产品族:产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品五个产品族,分属于三个不同的产品等级结构抽象工厂模式概述?模式动机?当系统所提供的工厂生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构、属于不同类型的具体产品时就可以使用抽象工厂模式?抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形式抽象工厂模式概述?抽象工厂模式的定义?对象创建型模式抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。Abstract Factory Pattern: Provide an interface for creating families of related or dependent objects without specifying their concrete ?抽象工厂模式的定义?又称为工具(Kit)模式?抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品?当一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象时,抽象工厂模式比工厂方法模式更为简单、更有效率抽象工厂模式的结构与实现?抽象工厂模式的结构ConcreteProductA1AbstractProductAConcreteFactory1++CreateProductA ()CreateProductB ()...: AbstractProductA: AbstractProductBAbstractFactory++CreateProductA ()CreateProductB ()...: AbstractProductA: AbstractProductBClientConcreteFactory2++CreateProductA ()CreateProductB ()...: AbstractProductA: AbstractProductBConcreteProductA2ConcreteProductB1AbstractProductBConcreteProductB2抽象工厂模式的结构与实现?抽象工厂模式的结构?抽象工厂模式包含以下4个角色:?AbstractFactory???????ConcreteFactory???????AbstractProduct???????ConcreteProduct??????抽象工厂模式的结构与实现?抽象工厂模式的实现?典型的抽象工厂类代码:abstract class AbstractFactory{public abstract AbstractProductA CreateProductA(); //工厂方法一public abstract AbstractProductB CreateProductB(); //工厂方法二……}