关于此模式的详细讲解见:http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html
重点代码:
public interface AbstractFactory {
/**
* 创建CPU对象
* @return CPU对象
*/
public Cpu createCpu();
/**
* 创建主板对象
* @return 主板对象
*/
public Mainboard createMainboard();
}
此抽象工厂接口把各个部件的创建联系到了一起。
个人学习心得:
1,抽象工厂模式和工厂模式相同的一点是通过工厂类把实例如何被创建、组合和表达的细节给屏蔽了。
2,抽象工厂模式之于工厂模式不同之处在于:抽象工厂模式用来创建的产品部件是有联系的,是一体的,并不能随意替换其他的产品线部件,即一个抽象工厂实例创建一种产品。
3,抽象工厂模式与生成器模式的区别:抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。若放在生产一个产品的环境下,抽象工厂关注的重点在于产品种类,生成器关注的重点在于产品的生产过程。
此部分加入了部分个人理解,仅供参考。