Java中的23种设计模式之——工厂模式(4)
工厂模式方法(factory method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。
* 工厂方法模式是简单工厂模式的进一步抽象和推广。
* 由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。
* 但缺点是由于每加一个产品,就需要加一个产品工厂的类,增加了额外的开发量。
抽象工厂类:
public interface IFactory { Operation createOperation(); }
public class RunOperation { public static void main(String[] args) { { //工厂模式实现: //IFactory factory = new AddFactory(); IFactory factory = new SubFactory(); Operation operation = factory.createOperation(); operation.setNumberA(1); operation.setNumberB(2); System.out.println("工厂模式实现:"+operation.getResult()); } } }
实现抽象工厂实例化对象
public class AddFactory implements IFactory{ @Override public Operation createOperation() { return new OperationAdd();//抽象工厂里的方法 } }
public class DivFactory implements IFactory{ @Override public Operation createOperation() { return new OperationDiv(); } }
public class MulFactory implements IFactory{ @Override public Operation createOperation() { return new OperationMul(); } }
public class SubFactory implements IFactory{ @Override public Operation createOperation() { return new OperationSub(); } }