抽象工厂模式是对工厂方法模式的进一步拓展,工厂可创建多个产品而不再是一个,产品也成为一个组合而不是单一的对象。
角色:
产品族A接口:定义产品族A统一行为
具体产品族A产品1:产品族A的具体一种产品
产品族B接口:定义产品族B统一行为
具体产品族B产品1:产品族B的具体一种产品
工厂接口:定义工厂统一行为
具体工厂:可产生产品组A和产品族B的具体一种产品
可见抽象工厂模式中一个具体工厂可创建多个产品,扩充了工厂的行为,避免了工厂方法中工厂只能产生单一产品的缺点。
end