1、抽象工厂模式介绍:
一、什么是抽象工厂模式:
抽象工厂模式是全部形态的工厂模式中最为抽象和最具备通常性的一种形态,抽象工厂模式向客户端提供一个接口,使得客户端在不知道具体产品的情类型的状况下,建立多个产品族中的产品spa
二、抽象工厂模式的使用状况:
系统的产品多于一个产品族,系统只消费一个产品族的产品的时候,通常使用抽象工厂模式。对象
三、抽象工厂模式和工厂方法模式的不一样:
(1)工厂方法模式针对一个产品等级结构;抽象工厂模式针对多个产品等级结构。blog
(2)工厂方法模式中一个具体的工厂只建立一种产品,抽象工厂模式中一个工厂能够建立多个同一类型的产品,至关于工厂模式的组合。继承
2、抽象工厂模式的结构:

- 抽象工厂角色(AbstractFactory): 抽象工厂模式的核心,一般用Java接口或者Java抽象类实现,具体工厂角色必须实现这个Java接口或者继承Java类。
- 具体工厂角色(ConcreteFactory):客户端调用它建立具体的产品实例。
- 抽象产品角色(AbstractProduct):抽象工厂模式建立的对象的父类。
- 具体产品角色(ConcreteProduct):抽象工厂模式所建立的产品。