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.