抽象工厂模式跟工厂方法模式差别不大,主要的区别就在于抽象工厂模式里抽象工厂里的工厂方法通常有多个,并且这多个方法产生的产品之间是有联系的,也就是说抽象工厂着重的就是为一个产品簇选择实现,即客户端一选就是选择的一套产品。抽象工厂模式的结构图如下:
由结构图可以看出,如果客户端选择了Schema1方案,就是选择了IntelCPU和MSIMainboard,它们的cpu针数都是939,是拼配的,所以这是一套产品。
抽象工厂模式的本质:选择产品簇的实现。