- 一、角色
- 工厂(Factory)角色:负责对象实例的创建,供外部调用,调用者不用关心对象创建的细节
- 抽象产品(Product)角色:所有被创建实例的公共接口
- 具体产品(Concrete Product)角色:创建的具体实例对象
- 二、适用场景
- 创建的对象比较少
- 调用者不用关心对象的具体创建过程
- 三、实例
- 图-1中的ShapeFactory是工厂角色类,它有个getClass方法负责对象实例的创建,Shape是抽象产品角色,Circel、Rectangle、Square是具体产品角色,它们都实现了Shape这个接口
- 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/simplefactory
图-1