设计模式:抽象工厂模式
什么是抽象工厂模式?
抽象工厂模式(英文:Abstract factory pattern)的实质是“提供接口,创建一系列相关或独立的对象,而不指定这些对象的具体类。”

一句话归纳
将一组对象实现细节和使用分离。

代码示例
我是一个电脑厂商,我有两个产品族,一个是“MAC”产品族,一个是“Win”产品族,在每一个产品族里,都会有不同的硬件(例如“键盘”和“鼠标”)。


适用性
以下场景我建议你考虑使用:
一个产品族是有多个产品组合的;
提供一个产品类的库,所有的产品都是以同样的接口出现,从而使客户端不依赖具体实现。

局限性
以下场景我建议你谨慎使用:
因为一开始就确定了需要创建产品的集合,所以拓展需要修改抽象工厂的接口,拓展比较难;
增加了系统的抽象和理解难度

抽象工厂和工厂方法的区别
工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则是针对多个产品等级结构;
工厂方法模式提供的产品都是出自同一个接口,而抽象工厂方法模式提供的产品则是不同接口。

写在最后
最后,好兄弟,记得点赞,关注,谢谢。
