1.什么是抽象工厂模式?
提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。通俗点来说,就是对一系列具有相同点的简单工厂进行封装。
简单工厂针对于几种不同的产品对象的创建,工厂方法模式是针对一种产品的不同型号对象的创建,及一种产品系列的产品对象创建,而抽象工厂是针对产品族对象的创建。比如《C语言从入门到入土》是一种产品,其产品系列包括两种:《C语言从入门到入土》,《C语言从入门到入土(精装版)》;同理《java从入门到入土》也是如此;《C语言从入门到入土》,《java从入门到入土》这类普通版书籍套装就是一个产品族,《C语言从入门到入土(精装版)》,《java从入门到入土(精装版)》这类精装版书籍套装是另一个产品族。简单工厂就是针对《C语言从入门到入土》《java从入门到入土》这种不同产品的创建,工厂方法模式针对《C语言从入门到入土》,《C语言从入门到入土(精装版)》产品系列的创建。
2.代码实例
产品抽象接口:
public interface Book {
public void read();
}
产品类:
public class C_Book implements Book{
private String name = "C语言从入门到入土";
private String publishing_house;