设计模式(三)——抽象工厂模式(Abstract Factory)
2014-06-01 21:32
141 查看
建议阅读本文前浏览:《设计模式(五)——工厂模式(Factory Method)》
![](https://img-blog.csdn.net/20140531112610140)
![](https://img-blog.csdn.net/20140531112524015)
意图
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
适用性
一个系统要独立于它的产品的创建、组合和表示时。
一个系统要由多个产品系列中的一个来配置时。
当你要强调一系列相关的产品对象的设计以便进行联合使用时。
当你提供一个产品类库,而只想显示它们的接口而不是实现时。
理解
抽象工厂模式,是工厂模式中最为抽象、最为复杂的一种。工厂模式,主要的目的是将创建和使用两个过程分开,以提高系统的可扩展性。抽象工厂的思想,主要是基于工厂方法模式的抽象,可以这么说,工厂方法模式是对产品的抽象,而抽象工厂模式是对产品系列的抽象。
模板
意图
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
适用性
一个系统要独立于它的产品的创建、组合和表示时。
一个系统要由多个产品系列中的一个来配置时。
当你要强调一系列相关的产品对象的设计以便进行联合使用时。
当你提供一个产品类库,而只想显示它们的接口而不是实现时。
理解
抽象工厂模式,是工厂模式中最为抽象、最为复杂的一种。工厂模式,主要的目的是将创建和使用两个过程分开,以提高系统的可扩展性。抽象工厂的思想,主要是基于工厂方法模式的抽象,可以这么说,工厂方法模式是对产品的抽象,而抽象工厂模式是对产品系列的抽象。
模板
//Abstract factory public interface Creator { ProductA factoryA(); ProductB factoryB(); } //Concrete factory 1: Produce product series 1 public class ConcreteCreator1 implements Creator { public ProductA factoryA() { return new ProductA1(); } public ProductB factoryB() { return new ProductB1(); } } //Concrete factory 2: Produce product series 2 public class ConcreteCreator2 implements Creator { public ProductA factoryA() { return new ProductA2(); } public ProductB factoryB() { return new ProductB2(); } } //Abstract product A public interface ProductA { } //Concrete product A1 public class ProductA1 implements ProductA { } //Concrete product A2 public class ProductA2 implements ProductA { } //Abstract product B public interface ProductB { } //Concrete product B1 public class ProductB1 implements ProductB { } //Concrete product B2 public class ProductB2 implements ProductB { }
相关文章推荐
- 设计模式C#描述——抽象工厂模式
- .NET设计模式-抽象工厂模式(Abstract Factory)
- 设计模式C#描述——抽象工厂模式
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 设计模式——创建型模式之 Abstract Factory抽象工厂模式
- [导入]C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式)
- 设计模式C#描述——抽象工厂模式
- Java设计模式圣经连载(03)-抽象工厂模式
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 我的设计模式之旅(3)――抽象工厂模式AbstractFactory
- 设计模式实践(抽象工厂模式应用)—通信录的优化过程
- 设计模式之抽象工厂模式
- AspectJ实现设计模式(四)——抽象工厂模式
- .NET设计模式:抽象工厂模式(Abstract Factory)
- [导入]C#面向对象设计模式纵横谈(4):Abstract Factory 抽象工厂模式(创建型模式)
- 设计模式笔记-抽象工厂模式
- .Net设计模式之抽象工厂模式(Abstract Factory)
- .NET设计模式(3):抽象工厂模式(Abstract Factory)(转)
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 设计模式(3)-抽象工厂模式(Abstract Factory)