抽象产品AAbstractProductA
+ doSomething(params):returnType
实际建造者ConcreteCreator
+ factoryMethod(params):ProductA+ factoryMethod(params):ProductB
抽象工厂模式
优点 1.封装性 高层模块不需要关心产品的具体实现类,只需要关注工厂类是谁, 2.保证产品族内的约束为非公开状态缺点 1.产品族扩展十分困难
具体产品AAbstractProductA
抽象建造者Creator
+ abstract factoryMethod(params):ProductA+ abstract factoryMethod(params):ProductB+ operation();
具体产品BAbstractProductB
抽象产品BAbstractProductA