Sobes.tech
Junior — Middle

¿En qué casos y para qué tareas se aplica el patrón Factory Method?

sobes.tech AI

Respuesta de la IA

El patrón Factory Method se utiliza para crear objetos sin especificar la clase concreta del objeto que se va a crear. Esto es útil cuando:

  • Se necesita delegar la creación de objetos a las subclases.
  • Se requiere garantizar flexibilidad y extensibilidad del código.
  • Es necesario ocultar la lógica de creación de objetos al cliente.

Ejemplo en Python:

from abc import ABC, abstractmethod

class Transport(ABC):
    @abstractmethod
    def deliver(self):
        pass

class Truck(Transport):
    def deliver(self):
        print("Entrega con camión")

class Ship(Transport):
    def deliver(self):
        print("Entrega con barco")

class Logistics(ABC):
    @abstractmethod
    def create_transport(self) -> Transport:
        pass

    def plan_delivery(self):
        transport = self.create_transport()
        transport.deliver()

class RoadLogistics(Logistics):
    def create_transport(self) -> Transport:
        return Truck()

class SeaLogistics(Logistics):
    def create_transport(self) -> Transport:
        return Ship()

# Uso
logistics = RoadLogistics()
logistics.plan_delivery()  # Salida: Entrega con camión

De esta manera, Factory Method permite crear objetos de diferentes clases sin modificar el código que los utiliza.