定义
属于创建型模型。简单工厂模型首先定义一个工厂类,根据参数的不同返回不同类型的实例,被创建的实例通常具有共同的父类。
其中,被创建实例的方法createProduct()通常为静态(static)方法,因此简单工厂模型被称为静态工厂方法(Static Factory Method)。
另外需要什么产品就传入产品对应的参数,就可以获取所需要的产品对象,而无需知道其实现的过程。
三类角色
工厂(核心):Factory 负责实现创建所有产品的内部逻辑,工厂类可以被外界直接调用,创建所需对象。
抽象产品:abstrat Product 工厂类所创建的所有对象的父类,封装了产品对象的公共方法,所有的具体产品为其子类对象。
具体产品:ProductA、ProductB 简单工厂模型的创建目标,所有被创建的对象都是某个具体类的实例,它要实现抽象产品中声明的抽象方法。