JavaScript设计模式 样例一 —— 工厂模式

工厂模式(Factory Pattern):javascript

定义:定义一个建立对象的接口,但让实现这个接口的类来决定实例化哪一个类。工厂方法让类的实例化推迟到子类中进行。  
目的:工厂模式是为了解耦,把对象的建立和使用的过程分开。
场景:须要生成复杂对象,须要下降耦合度的场景。

例子:JS代码实现 java

let operationFactory = {
    createOperate (operate) {
        let oper = null
        switch (operate) {
            case '+':
                oper = new operationFactory.OperationAdd()
                break
            case '-':
                oper = new operationFactory.OperationSub()
                break
            case '*':
                oper = new operationFactory.OperationMul()
                break
            case '/':
                oper = new operationFactory.OperationDiv()
                break
        }
    },
    OperationAdd () {
        // TODO run the addition operation
    },
    OperationSub () {
        // TODO run the subtraction operation
    },
    OperationMul () {
        // TODO run the multiplication operation
    },
    OperationDiv () {
        // TODO run the division operation
    }
}

Git地址:https://github.com/skillnull/Design-Mode-Examplegit

相关文章
相关标签/搜索