1。抽象工厂模式(别名:配套)
提供一个创建一系列(相互依赖)对象的接口,而无需指定它们具体的类。
2.概述
当系统准备为用户提供一系列相关的对象,又不想让用户代码和创建这些对象的类形成耦合时,就可以使用抽象工厂方法模式来设计系统。抽象工厂模式的关键是在一个抽象类或接口中定义若干个抽象方法,这些抽象方法分别返回某个类的实例,该抽象类或接口让其子类或实现该接口的类重写这些抽象方法,为用户提供一系列相关的对象。
3.抽象工厂模式-结构
- 抽象产品(Prodcut)
- 具体产品(ConcreteProduct)
- 抽象工厂(AbstractFactory)
- 具体工厂(ConcreteFactory)
4.抽象工厂模式-场景描述
雅戈尔品牌和杰克琼斯提供西服套装(上衣+裤子)和牛仔套装(上衣+裤子)的生产。
5.抽象工厂模式-场景分析
- 抽象产品:
上衣(UpperClothes)
裤子(Trousers) - 具体产品:
西服上衣(WestrnUpperClothes)
牛仔上衣(CowboyUpperClothes)
西服裤子(WesternTrousers)
牛仔裤子(CowboyTrousers) - 抽象工厂
衣服生产:ClothesFactory - 具体工厂
雅戈尔牌子生产:YoungorClothesFactory
杰克琼斯生产:JackClothesFactory
6.优点
- 抽象工厂模式可以为用户创建一系列相关的对象,使得用户和创建这些对象的类脱耦
- 使用抽象工厂模式可以方便的为用户配置一系列对象。用户使用不同的具体工厂就能得到一组相关的对象,同时也能避免用户混用不同系列中的对象
- 在抽象工厂模式中,可以随时增加“具体工厂”为用户提供一组相关的对象。
相关推荐
第6章抽象工厂模式.pptx
Java设计模式(作者 刘伟)配套ppt
第6章_抽象工厂模式.pptx
在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多...
第6章 专题 抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成、聚合复用原则 第11章 迪米特法则 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂模式 第15章 单例模式 第16...
01_第1章_统一建模语言基础知识.ppt 第11章_桥接模式.ppt 第12章_组合模式.ppt 第15章_享元模式.ppt 第18章_命令模式.ppt ...第6章_抽象工厂模式.ppt 第7章_建造者模式.ppt 第8章_原型模式.ppt 第9章_单例模式.ppt
└── 设计模式 ├── 01_第1章_统一建模语言基础知识.ppt ├── 第10章_适配器模式.ppt ├── 第11章_桥接模式.ppt ...├── 第6章_抽象工厂模式.ppt ├── 第7章_建造者模式.ppt ├── 第8章_原型模式.ppt
第6章 UML图 第7章 C#中的数组、文件和异常 第二部分 创建型模式 第8章 简单工厂模式 第9章 工厂方法模式 第10章 抽象工厂模式 第11章 单件模式 第12章 生成器模式 第13章 原型模式 第三部分 结构型模式 第14章 ...
第6章 专题:抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成/聚合复用原则 第11章 迪米特法则 第三部分 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂模式 第15章 单例...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 ...
第6章 开闭原则 6.1 开闭原则的定义 6.2 开闭原则的庐山真面目 6.3 为什么要采用开闭原则 6.4 如何使用开闭原则 6.5 最佳实践 第二部分 我惹了谁——真刀实枪篇 第7章 单例模式 7.1 我是皇帝我独苗 7.2 单例模式的...
第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式...
第6章 桥接(bridge)模式 52 第7章 职责型模式介绍 62 第8章 单例(singleton)模式 67 第9章 观察者(observer)模式 72 第10章 调停者(mediator)模式 85 第11章 代理(proxy)模式 97 第12章 职责链(chain of ...
3.2.3抽象工厂模式实例之数据库操作工厂 3.2.4建造者模式实例之游戏人物角色 3.2.5原型模式实例之快速创建工作周报 3.2.6单例模式实例之多文档窗口 3.3实训练习 第4章结构型模式实训 4.1知识讲解 4.1.1结构型...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 ...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 ...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 ...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) ...
第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) ...