抽象工厂模式有很重要的两点,java的多态,和java的面向接口编程。
先看类图之间的关系
1.工厂类的关系如下:
2.产品两个类的类图关系
3.调用者
public static void main(String[] args) {
//调用者调用
BmwFactory bmwFactory=new BmwFactory();
bmwFactory.creat().buildCar();
new BenciCarFactory().creat().buildCar();;
}
抽象工厂模式拓展很方便,直接实现接口重写方法,工厂和工厂之间也没任何联系,没有任何耦合度
当然抽线工厂模式主要是面向接口编程,耦合度低,健壮性好,拓展维护容易。但是缺点就是代码稍微有点多。