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.