工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:
简单工厂,工厂方法,抽象工厂
简单工厂模式,或称静态工厂方法模式,是不同的工厂方法模式的一个特殊实现。
工厂方法模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。
抽象工厂模式可以向客户端提供一个接口,使得客户端在不必置顶产品的具体类型的情况下,创建多个产品族中的产品对象。
抽象工厂模式与工厂方法模式的最大区别在,工厂方法模式针对的是一个产品等级结构;而抽象工厂则需要面对多个产品等级结构。
抽象工厂设计到的角色有:
抽象工厂,具体工厂,抽象产品,具体产品