工厂模式
TIP
JavaScript 工厂设计模式是一种创建对象的方法,可以使用该模式来封装复杂的对象创建过程,并根据不同的条件返回不同类型的对象实例。
工厂设计模式通常包括一个工厂函数,该函数接受一个参数并返回一个对象。该参数可以用于指定要创建的对象类型或配置信息。以下是一个简单的 JavaScript 工厂示例:
javascript
// 构造函数
function Car(model, year, miles) {
this.model = model;
this.year = year;
this.miles = miles;
}
// 工厂函数
function CarFactory() {}
CarFactory.prototype.createCar = function (model, year, miles) {
return new Car(model, year, miles);
};
// 使用工厂函数创建对象
const carFactory = new CarFactory();
const car1 = carFactory.createCar("Tesla", 2022, 0);
const car2 = carFactory.createCar("BMW", 2019, 10000);
console.log(car1);
console.log(car2);
在上面的示例中,我们定义了一个 Car
构造函数,它接受三个参数:车型、年份和里程数。然后,我们定义了一个 CarFactory
工厂函数,并将其原型上添加了一个 createCar
方法,以便根据传入的参数创建 Car
对象的实例。
最后,我们创建了一个名为 carFactory
的新实例,并使用它的 createCar
方法来创建两个不同的 Car
实例,分别为 car1
和 car2
。这两个实例具有不同的车型、年份和里程数。
TIP
工厂设计模式的优点是可以将复杂的对象创建过程封装起来,并提供灵活性和可扩展性,以便根据不同的需求返回不同的对象类型。