1、简介
简单工厂模式的实质 是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例.(这些产品类继承自一个父类或接口) ---百度总结的很精辟.
简单工厂模式 主要解决对象的创建问题.
该模式中包含的角色以及职责:
1)工厂角色
负责实现创建所有实例的内部逻辑.工厂类的创建产品类方法可以被外部直接调用,创建所需的产品对象.
2)抽象产品角色
简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口.
3)具体产品角色
是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例.
举一个计算器的例子,可以参考UML类图理解下:
2.代码实现
1)运算类 -- 抽象产品角色
@Data public class Operation { private double numberA = 0; private double numberB = 0; public double getResult() { return 0; } }
2)加法类 -- 具体产品角色