Junior — Middle
92
În ce cazuri și pentru ce sarcini se aplică pattern-ul Factory Method?
Companiile au fost întrebate
Răspuns de la AI
sobes.tech AI
Modelul Factory Method este utilizat pentru a crea obiecte fără a specifica clasa concretă a obiectului care urmează să fie creat. Acest lucru este util atunci când:
- Este necesar să delegați crearea obiectelor subclasei.
- Este nevoie să asigurați flexibilitate și extensibilitate codului.
- Este necesar să ascundeți logica de creare a obiectelor de client.
Exemplu în Python:
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def deliver(self):
pass
class Truck(Transport):
def deliver(self):
print("Livrare cu camion")
class Ship(Transport):
def deliver(self):
print("Livrare cu navă")
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()
# Utilizare
logistics = RoadLogistics()
logistics.plan_delivery() # Va afișa: Livrare cu camion
Astfel, Factory Method permite crearea de obiecte din diferite clase fără a modifica codul care le utilizează.