Junior — Middle
V akých prípadoch a na aké úlohy sa používa vzor Factory Method?
sobes.tech AI
Odpoveď od AI
Vzorec Factory Method se uporablja za ustvarjanje objektov brez določanja konkretne razreda ustvarjenega objekta. To je uporabno, kadar:
- Potrebno je delegirati ustvarjanje objektov podrazredom.
- Zahtevana je prilagodljivost in razširljivost kode.
- Logika ustvarjanja objektov mora biti skrita od odjemalca.
Primer v Pythonu:
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def deliver(self):
pass
class Truck(Transport):
def deliver(self):
print("Dostava s tovornjakom")
class Ship(Transport):
def deliver(self):
print("Dostava s plovilom")
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()
# Uporaba
logistics = RoadLogistics()
logistics.plan_delivery() # Izpis: Dostava s tovornjakom
Tako Factory Method omogoča ustvarjanje objektov različnih razredov brez spreminjanja kode, ki jih uporablja.