zoukankan      html  css  js  c++  java
  • 工厂模式三部曲之工厂方法模式

    工厂方法模式有四要素

    • 产品接口
    • 产品实现
    • 工厂接口
    • 工厂实现

    和简单工厂模式的区别

    简单工厂模式只有三个要素,它没有工厂接口,并且得到的产品方法一般是静态的。因为没有工厂接口,所以在工厂实现的扩展性方面较弱,可以算作工厂方法模式的简化版。

    计算器的例子用工厂方法模式实现

    类图如下:

    项目如下:

    代码如下:

    IFactory:

    public interface IFactory {
        public Operation createOperation();
    }

    AddFactory:

    public class AddFactory implements IFactory {
    
        @Override
        public Operation createOperation() {
            return new AddOperation();
        }
    
    }

    SubFactory:

    public class SubFactory implements IFactory {
    
        @Override
        public Operation createOperation() {
            return new SubOperation();
        }
    
    }

    MulFactory:

    public class MulFactory implements IFactory {
    
        @Override
        public Operation createOperation() {
            return new MulOperation();
        }
    
    }

    DivFactory:

    public class DivFactory implements IFactory {
    
        @Override
        public Operation createOperation() {
            return new DivOperation();
        }
    
    }

    剩下的类和简单工厂模式的一样。

    可以参考:http://www.cnblogs.com/DarrenChan/p/5661356.html

    测试:

    IFactory fac = new DivFactory();
    Operation oper = fac.createOperation();
    oper.setNumber1(3.3);
    oper.setNumber2(5.12);
    System.out.println(oper.getResult());
  • 相关阅读:
    Could not update ICEauthority file /var/lib/gdm/.ICEauthority
    反爬虫中技术点的定义
    反爬虫一些问题
    反爬虫准备
    题解「BZOJ4621 Tc605」
    题解「ZJOI2019 语言」
    题解「清华集训2012 序列操作」
    题解「CF1174F Ehab and the Big Finale」
    题解「CF516D Drazil and Morning Exercise」
    题解「HNOI2018 寻宝游戏」
  • 原文地址:https://www.cnblogs.com/DarrenChan/p/5661426.html
Copyright © 2011-2022 走看看