美文网首页
工厂方法模式

工厂方法模式

作者: 小明今晚加班 | 来源:发表于2019-10-17 14:00 被阅读0次

    凡是有大量的产品需要创建,并且有共同的接口时,都可以用工厂方法模式进行创建,最好是采用静态工厂方法, 这可避免简单工厂的传参错误,也可避免多模式工厂的创建工厂实例过程。

    package factory;
    
    /**
     * 公共接口
     */
    public class Operation {
        private double value1=0d;
        private double value2=0d;
    
        public double getValue1(){
            return this.value1;
        }
        public double getValue2(){
            return this.value2;
        }
        public void setValue1(double value1){
            this.value1 = value1;
        }
        public void setValue2(double value2){
            this.value2 = value2;
        }
    
        public double getResult(){
            return 0d;
        }
    }
    

    具体操作的类:

    package factory;
    
    public class ConcretAdd extends Operation {
        @Override
        public double getResult() {
            return super.getValue1() + super.getValue2();
        }
    }
    
    public class ConcretDiv extends Operation {
        @Override
        public double getResult(){
            return super.getValue1() / super.getValue2();
        }
    }
    
    public class ConcretMul extends Operation {
        @Override
        public double getResult() {
            return super.getValue1() * super.getValue2();
        }
    }
    
    public class ConcretSub extends Operation {
        @Override
        public double getResult() {
            return super.getValue1() - super.getValue2();
        }
    }
    

    静态工厂类:

    public class StaticFactory {
        public static Operation addFactory() {
            return new ConcretAdd();
        }
    
        public static Operation subFactory() {
            return new ConcretSub();
        }
    
        public static Operation MulFactory() {
            return new ConcretMul();
        }
    
        public static Operation divFactory() {
            return new ConcretDiv();
        }
    }
    

    相关文章

      网友评论

          本文标题:工厂方法模式

          本文链接:https://www.haomeiwen.com/subject/xpwmmctx.html