Skip to content
On this page

工厂模式

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 实例,分别为 car1car2。这两个实例具有不同的车型、年份和里程数。

TIP

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

Released under the MIT License.