24种设计模式优缺点及适用场景#抽象工厂模式
创建型#抽象工厂模式
概述:
抽象工厂方法是工厂方法模式的延伸,它提供了功能更为强大的工厂类并且具备较好的可扩展性;
优点:
1、抽象工厂模式隔离了具体类的生成,使得客户端并不需要知道什么被创建。
2、当一个产品族中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一产品族中的对象;
3、增加新的产品族很方便,无需修改已有系统代码,符合开闭原则;
缺点:
1、增加新的产品等级结构麻烦,需要对原有系统进行较大的修改,甚至需要修改抽象层代码,违背了开闭原则;
适用环境:
1、用户无需关心对象的创建过程,将对象的创建和使用解耦;
2、产品等级结构稳定,在设计完成之后不会向系统中增加新的产品等级结构或者删除已有的产品等级结构;
3、系统中有多于一个的产品族,而每次只使用其中某一产品族。可以通过配置文件等方式来使用户能够动态改变产品族,也可以很方便的增加新的产品族;
不积跬步无以至千里不积小流无以成江海