抽象工厂模式,这里的主体思想,是对于工厂的抽象,就是在工厂模式的基础上继续抽象。(了解工厂模式,请翻阅上期讲解)
在上期对工厂方法模式分解中,我们发现一个问题:对于新增的品类创建新的工厂,这样是很浪费资源的,而且随着新品的增加,结构会变得越来越冗余。
既然“万物皆可抽”,那五花八门的工厂自然也是可以的了。所以,抽象工厂模式更像是一个超级工厂,整合了单一、散乱的小工厂。
例如上图中,饮料厂和面点厂都是工厂,通过抽象,包含于食品厂。再比如套餐A和B,同属套餐。
在工厂方法模式中,消费者需要去饮料厂才能买到冰峰和橙汁,如果需要买小吃,还得再去一趟面点厂。
当有了抽象工厂模式,为众多的工厂提供统一的入口,消费者需要产品,直接通过这个超级工厂提供,再也不用跑腿了。
那么抽象工厂模式的优点,就是简化了各种工厂类的创建,提供统一的管理入口。而缺点就是相对固化、耦合度高,例如需要增加新品时,所有相关工厂类都会涉及修改。
下期来聊单例模式,欢迎关注、评论。
本文【抽象工厂模式的优缺点】由作者: B/S结构 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4419.html