- 简单工厂模式,又叫做静态工厂方法模式;它是由一个工厂对象决定产生出哪一种产品类的实例(可以理解为定制版,用户需要什么、工厂再生产什么)。
- 简单工厂模式包含的角色:
- 工厂角色:简单工厂模式的核心,它负责实现和创建所有实例的内部逻辑。
- 抽象产品角色:工厂所创建的所有对象的父类(所有实例共有的公共接口)
- 具体产品:即你定制的是什么东西
简单工厂模式的使用场景(计算器):
类图如下:
![]()
1、首先我们需要有一个运算符类(Operation)
2、建立具体的类(加减乘除运算)public class Operation { private Double numberA; private Double numberB; public Double getNumberA() { return numberA; } public void setNumberA(Double numberA) { this.numberA = numberA; } public Double getNumberB() { return numberB; } public void setNumberB(Double numberB) { this.numberB = numberB; } public Double getResult() { Double result = null; return result; } }
public class OperationAdd extends Operation { @Override public Double getResult() { Double result = null; result = getNumberA() + getNumberB(); return result; } }
...3、最核心的部分就是建立一个工厂
4、最后就可以通过客户端来测试我们的简单工厂模式了
public class OperationFactory { public static <T> Operation createOperate(Class<T> clazz) throws Exception { Operation operation = (Operation) clazz.newInstance(); return operation; } }
以上就是关于简单工厂模式的一个简单应用public class Client { public static void main(String[] args) throws Exception { //通过反射机制取得加法操作的实例对象 Operation operation = OperationFactory.createOperate(OperationAdd.class); operation.setNumberA(4d); operation.setNumberB(3d); System.out.println(operation.getResult()); } }