Sobes.tech
Junior — Middle
93

Kokiais atvejais ir kokiems uždaviniams taikomas Factory Method šablonas?

Įmonės kur klausė
ArendadataArendadata

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.