Patrón Factory Method

¿Qué es el Patrón Factory Method?

El Factory Method es un patrón de diseño creacional que permite a una clase delegar la creación de objetos a sus subclases. Esto promueve la flexibilidad al momento de instanciar objetos.

Código de Ejemplo en JavaScript

            
class Car {
  constructor() {
    this.type = "Car";
  }

  info() {
    console.log(`Este es un vehículo de tipo: ${this.type}`);
  }
}

class Truck {
  constructor() {
    this.type = "Truck";
  }

  info() {
    console.log(`Este es un vehículo de tipo: ${this.type}`);
  }
}

class VehicleFactory {
  createVehicle(vehicleType) {
    if (vehicleType === "car") {
      return new Car();
    } else if (vehicleType === "truck") {
      return new Truck();
    }
    return null;
  }
}

// Uso del Factory Method
const factory = new VehicleFactory();

const car = factory.createVehicle("car");
car.info(); // Este es un vehículo de tipo: Car

const truck = factory.createVehicle("truck");
truck.info(); // Este es un vehículo de tipo: Truck

        

Casos de Uso

  • Creación de objetos en función de parámetros dinámicos.
  • Facilitar la creación de múltiples tipos de productos sin modificar el código cliente.
  • Implementación de **plugins** o **módulos extensibles**.

Patrones Relacionados

  • Abstract Factory: Crea familias de objetos relacionados.
  • Builder: Proporciona pasos para construir un objeto complejo.
  • Prototype: Clona objetos existentes en lugar de crearlos desde cero.
Whatsapp Mentores Tech