两个概念
产品等级结构:产品的继承结构。(就是产品类别)
产品族:同一个工程生产的,位于不同产品等级结构中的一组产品。(就是一个工厂生产的多类不同产品称为一个产品族)
一张图简单理解上面两个概念:
简介
-
定义:提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类。
-
结构
抽象工厂
具体工厂
抽象产品
具体产品
类功能
- 抽象工厂类
生命一组用于创建一族产品的方法,每一个方法对应一种产品。抽象工厂可以是接口、抽象类或具体类。
public interface AbstractFactory{
public AbstractProductA createProductA();//工厂方法一
public AbstractProductB createProductB();//工厂方法二
}
- 具体工厂类
实现抽象工厂中声明的创建产品的方法,生成一组具体产品,构成一个产品族。
public class ConcreteFactory1 implements AbstractFactory{
//工厂方法一
public AbstractProductA createProductA(){
return new ConcreteProductA1();
}
//工厂方法二
public AbstractProductB createProductB(){
return new ConcreteProductB1();
}
}
uml示例图