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();
    }
}
原文地址:https://www.cnblogs.com/ouyanxia/p/8378707.html