工厂创建一种产品,抽象工厂创建的是一组产品,是一个产品系列。这里要注意的是“系列”的意思,也就是说,抽象工厂创建出的一组产品是成套的。
工厂模式(Factory Method Pattern)
系统中需要一个对象,但是有多种类型,或将来很可能需要修改,而且此时还不能决定哪一种类型,这时的做法:
1、为上述所需创建的对象定义一个抽象父类,所有不同类型均继承该抽象父类;
2、在系统中定义一个创建该对象的接口(此接口不一定抽象,可以有默认类型),这个接口可以由系统子类 来具体实现,即上述对象的实现推迟到了子类当中。
3、这样就使得系统中可以针对抽象父类的接口编码,而不依赖于具体类;
类图:
抽象工厂模式(Abstract Factory Pattern)
提供一个“接口”(interface或一个抽象父类,里面有一系列用于 创建对象或设定一些值的其他作用 的接口函数),用于创建相关或依赖对象的家族,用户根据这些抽象接口来编程,而不需要明确指定具体类。
类图:
http://topic.csdn.net/u/20100813/16/0e9b4a8b-0111-4376-9075-8e4afb631ca0.html