JavaScript 工厂模式

219 阅读1分钟

工厂模式:简单理解就是,你需要一个东西,可能是笔记本、电脑、可乐、薯片等
你只需要到对应的商店购买就可以了,你不需要知道它是怎么制作的。
转换到JavaScript里面来,就是对new操作进行封装。

class Cola {
    
    constructor(brand, price) {
        
        this.brand = brand
        this.price = price
    }
    
    myName() {
        console.log(`我的品牌是${this.brand}`)
    }
    
    myPrice() {
        console.log(`我的价格是${this.price}`)
    }
}

class Factory {
    
    createCola(brand, price) {
        return new Cola(brand, price)
    }
}

const factory = new Factory() // 工厂
const cola = Factory.createCola('可口可乐', '3') // 告诉工厂我需要cola,工厂就会给你一个cola
cola.myName()
cola.myPrice()

这种设计思路可以让使用无需关系过程,只需要关注结果就可以了
而且易于扩展,只需要在工厂里添加新的方法就可以了
维护性起来也容易,当要更换或者修改的时候,只需要修改工厂的方法就可以了
不过会提升系统的复杂度以及理解难度