抽象工厂模式用于生成具有多产品种类生产能力的的工厂,所生成的对象往往是有关联的。
如果抽象工厂退化成生成的对象无关联的或者单一的产品种类则成为工厂函数模式。
参考:对比
这里使用以下例子:
1、抽象机械制造工厂(IProduce)制造机器人和电池的例子,机器人可以干活,电池可以为机器人充电
2、抽象数据仓工厂(IRepository)生产订单和订单详情的例子,以分库分表的需求为基础进行演示
抽象工厂的好处在于可以自由替换工厂,用符合目标的需求的对象来做想要的事情