一、设计模式之简单工厂模式
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
下面我们看代码:
1. 定义一个操作接口:Operator.class
package com.hmh.operator; import lombok.Data; @Data public abstract class Operator { public double num1; public double num2; public abstract double calcNum(); }
2. 定义具体的操作类:
OperatorAdd.clss加法操作类,
OperatorSub.class减法操作类。。。去继承操作类
package com.hmh.operator; public class OperatorAdd extends Operator { @Override public double calcNum() { return num1 + num2; } } public class OperatorSub extends Operator { @Override public double calcNum() { return num1-num2; } }
3. 定义简单工厂类:OperatorFactory.class
package com.hmh.operator; /** * 1、简单工厂模式 */ public class OperatorFactory { public static Operator createOperator(String operator) { switch (operator) { case "+": return new OperatorAdd(); case "-": return new OperatorSub(); default: return null; } } }
4.测试代码:
/** * 工厂模式 */ public class TestOperator { public static void main(String[] args) { Operator operator = OperatorFactory.createOperator("+"); operator.setNum1(2); operator.setNum2(5); System.out.print("num1+num2="+operator.calcNum()); } }