本人开发主要以Java开发为主:故使用Java语言进行讲解。
在程序设计中,为了更好的对程序进行扩展,出现了多样的模式,常用的设计模式为23种,这一次的讲解为简单工厂模式。这个模式的优点是工厂可以通过条件获取需要创建的对象,而不是自己创建对象。以计算机为例:
创建抽象计算类:
public abstract class Operation { protected double numberA; protected 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 abstract double getResult(); }
为了方便:只用add类和sub类继承
public class OperationAdd extends Operation{ @Override public double getResult() { return numberA+numberB; } }
public class OperationSub extends Operation{ @Override public double getResult() { return 0; } }
创建工厂类,静态方法getFactory()获取对象
public class SimpleFactory { public static Operation getFactory(String op){ Operation operation=null; switch(op){ case "+":operation= new OperationAdd();break; case "-":operation= new OperationSub();break; } return operation; } }
最后使用junit进行测试
@Test public void test() { Operation operation=SimpleFactory.getFactory("+"); operation.setNumberA(1); operation.setNumberB(1); double result=operation.getResult(); System.out.println(result); }