个人理解总结之抽象工厂模式

来源:互联网 发布:淘宝卖东西提成怎么算 编辑:程序博客网 时间:2024/05/16 14:57

理解抽象工厂模式的前提是掌握简单工厂模式。

抽象工厂模式是简单工厂模式的最终形态。

它与简单工厂模式的唯一区别就是工厂的接口里创造的是一系列抽象产品,而不再是一个,这其实是简单工厂模式的一种扩展。

*扩展一个接口或者一个类的方式通常有两种:继承和组合

抽象工厂模式的定义:为创建一组相关或者相互依赖的对象提供一个接口,而且无需指定他们的具体类


图例如下:

   


*其实抽象工厂模式就是为了解决产品不再是一个的时候的问题。因为不管是工厂还是工厂方法,都有一个缺陷那就是整个模式当中只能有一个抽象产品。

*由于抽象工厂一旦定义,抽象产品的个数已经确定,所以最好在抽象产品的个数不会变化的前提下使用抽象工厂模式。

*弥补这一不足的办法:继承,即创造另一个继承体系去扩展现有的框架。



有关工厂的三种模式依次进化的原因;

*1.首先从简单工厂模式进化到工厂方法,是为了弥补简单工厂对修改开放的弊端,即简单工厂模式我背了开闭原则。

*2.从工厂方法进化到抽象工厂,是因为抽象工厂弥补了工厂方法只能创造一个系列产品的弊端。