Junior — Middle
91
Millistel juhtudel ja milliste ülesannete jaoks kasutatakse Factory Method mustrit?
Ettevõtted, kust küsiti
Vastus AI-lt
sobes.tech AI
Factory Method muster võimaldab luua objekte ilma konkreetse klassi määramata. See on kasulik, kui:
- Objektide loomist tuleb delegeerida alamklassidele.
- Vajadus on tagada koodi paindlikkus ja laiendatavus.
- Objektide loomise loogikat tuleb varjata kliendi eest.
Python näide:
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def deliver(self):
pass
class Truck(Transport):
def deliver(self):
print("Kohaletoimetamine veoautoga")
class Ship(Transport):
def deliver(self):
print("Kohaletoimetamine laevaga")
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()
# Kasutamine
logistics = RoadLogistics()
logistics.plan_delivery() # Väljund: Kohaletoimetamine veoautoga
Sellisel viisil võimaldab Factory Method luua erinevate klasside objekte, ilma et peaks muutma nende kasutamise koodi.