1.设计模式之简单工厂模式

来源:互联网 发布:nginx 禁止访问根目录 编辑:程序博客网 时间:2024/03/29 23:51

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    上代码:

package cn.evansung.design;public class OperationFactory {public static Operation createOperation(String operation) {Operation oper = null;switch (operation) {case "+":oper = new OperationAdd();break;case "-":oper = new OperationSub();break;case "*":oper = new OperationMul();break;case "/":oper = new OperationDiv();break;}return oper;}}abstract class Operation {private double numA;private double numB;public double getNumA() {return numA;}public void setNumA(double numA) {this.numA = numA;}public double getNumB() {return numB;}public void setNumB(double numB) {this.numB = numB;}public abstract double getResult();}class OperationAdd extends Operation {@Overridepublic double getResult() {// TODO Auto-generated method stubreturn getNumA() + getNumB();}}class OperationSub extends Operation {@Overridepublic double getResult() {return getNumA() - getNumB();}}class OperationMul extends Operation {@Overridepublic double getResult() {return getNumA() * getNumB();}}class OperationDiv extends Operation {@Overridepublic double getResult() {return getNumA() / getNumB();}}