1.普通工厂模式
有个IProduct 产品接口 ,它下面有 5个实现类Product1、Product2、 Product3 、Product4、Product5。它们属于1个大类,可以通过1个工厂去管理它们的生成,但是由于类型不同,所以初始化有所不同 。为了方便使用产品工厂( ProductFactory )类来创建这些产品的对象,用户可以通过产品号来确定需要哪种产品。
ProductFactory类的伪代码:
对于程序调用者而言,它只需要知道通过工厂的 createProduct 方法,指定产品编号一productNo 可以得到对应的产品,而产品满足接口 IProduct 规范,所以初始化就简单了许多。
2. 抽象工厂模式
抽象工厂模式可以向客户端提供 多个接口,使得客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象