概述
简单工厂模式实现了生成产品类的代码与客户端代码分离,在工厂类中可以添加生成产品的逻辑代码。
但是简单工厂模式不符合“开放-封闭”原则。例如要加一个产品类C,就要修改工厂类的生成产品逻辑,增加if-else判断。对于这个问题,工厂方法模式可以解决。
UML图
角色
抽象产品类 : Product
具体产品类 : ConcreteProductA 和 ConcreteProductB
抽象工厂类 : AbstractFactory
具体工厂类 : ConcreteFactoryA 和 ConcreteFactoryB
代码实现
抽象产品类:
public interface Product {