设计模式学习--抽象工厂模式

模式定义

提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

模式结构

1.AbstractFactory抽象工厂

用于声明生成抽象产品的方法,在一个抽象工厂中可以定义一组方法,每一个方法对应一个产品等级结构

public abstract class AbstractFactory {
    public abstract AbstractProductA createProductA();
    public abstract AbstractProductB createProductB();
}
2.ConcreteFactory具体工厂

具体工厂实现了抽象工厂声明的生成抽象产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中。

public class ConcreteFactory1 extends AbstractFactory{

    @Override
    public AbstractProductA createProductA() {
        return new ConcreteProductA1();
    }

    @Override
    public AbstractProductB createProductB() {
        return new ConcreteProductB1();
    }

}
3.AbstractProduct抽象产品

抽象产品为每种产品声明接口,在抽象产品中定义了产品的抽象业务方法。

4.ConcreteProduct具体产品

具体产品定义具体工厂生产的具体产品对象,实现抽象产品接口中定义的业务方法。


抽象工厂模式图

你可能感兴趣的:(设计模式学习--抽象工厂模式)