zoukankan      html  css  js  c++  java
  • 工厂模式

    意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化延迟到其子类。


    ### 实现(简单工厂):
    public class OperationFactory {
        public static Operation createOperate(String operate) {
            Operation oper = null;
    
            switch (operate) {
                case "+": oper = new OperationAdd(); break;
                case "-": oper = new OperationSub(); break;
                case "*": oper = new OperationMul(); break;
                case "/": oper = new OperationDiv(); break;
            }
    
            return oper;
        }
    
        // 客户端
        public static void main(String[] args) {
            Operation oper = OperationFactory.createOperate("+");
            oper.numberA = 1;
            oper.numberB = 2;
            double result = oper.getResult();
        }
    
    }
    

    ### 实现(工厂方法):
    // 工厂接口
    public interface IFactory {
        Operation createOperation();
    }
    
    // 加法工厂
    public class AddFactory implements IFactory {
        public Operation createOperation() {
            return new OperationAdd();
        }
    }
    
    // 减法工厂、乘法工厂、除法工厂
    ...
    
    // 客户端
    IFactory operFactory = new AddFactory();
    Operation oper = operFactory.CreateOperation();
    oper.numberA = 1;
    oper.numberB = 2;
    double result = oper.getResult();
  • 相关阅读:
    TweenMax_API介绍
    正则表达式基础讲解
    CSS3 calc()的使用
    WebGL框架 -- three.js
    CSS3 box-sizing属性
    prefixfree.js_无前缀脚本
    css样式—字体垂直、水平居中
    JQuery解析json数据
    移动Web开发规范
    Ajax与json在前后端中的细节解惑
  • 原文地址:https://www.cnblogs.com/hippiebaby/p/5468864.html
Copyright © 2011-2022 走看看