标签:工厂模式 类型 veh 学习 blog func let 添加 rip
工厂模式(Factory)提供一个公用的接口来创建对象。
如有一个UI库,我们要创建某个UI组件的类型,不需要直接使用new 运算符或者通过另一个创建型构造函数创建这个组件,而是要求Factory对象创建一个新的组件。我们通知Factory需要什么样的对象(如按钮、面板),它会进行实例化,然后将它返回给我们。
function Car (name, color) { this.name = name; this.color = color; } function Trunk (name, color) { this.name = name; this.color = color; } function vehicleFactory () { } vehicleFactory.prototype.vehicleClass = Car; // 添加默认类型 vehicleFactory.prototype.createVehicle = function (name, color) { if (name === ‘car‘) { this.vehicleClass = Car; } else { this.vehicleClass = Trunk; } return new vehicleClass(name, color); } let factory = new vehicleFactory() let car = factory.createVehicle(‘car‘, ‘red‘) console.log(car instanceof Car) // true let trunk = factory.createVehicle(‘trunk‘, ‘blank‘) console.log(trunk instanceof Trunk) // true
标签:工厂模式 类型 veh 学习 blog func let 添加 rip
原文地址:http://www.cnblogs.com/running1/p/7532885.html