Junior — Middle
93
Kokiais atvejais ir kokiems uždaviniams taikomas Factory Method šablonas?
Įmonės kur klausė
Atsakymas iš AI
sobes.tech AI
Factory Method šablonas naudojamas kurti objektus be konkrečios kuriamo objekto klasės nurodymo. Tai naudinga, kai:
- Reikia pavesti objektų kūrimą pogrupių klasėms.
- Reikalingas lankstumas ir plėtojamas kodas.
- Reikia paslėpti objekto kūrimo logiką nuo kliento.
Python pavyzdys:
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def deliver(self):
pass
class Truck(Transport):
def deliver(self):
print("Krovinių pristatymas")
class Ship(Transport):
def deliver(self):
print("Laivo pristatymas")
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()
# Naudojimas
logistics = RoadLogistics()
logistics.plan_delivery() # Rezultatas: Krovinių pristatymas
Šiuo būdu Factory Method leidžia kurti skirtingų klasių objektus, nekeičiant jų naudojimo kodo.