工厂模式
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
工厂设计模式的优点是可以将复杂的对象创建过程封装起来,并提供灵活性和可扩展性,以便根据不同的需求返回不同的对象类型。