Sobes.tech
Junior — Middle
96

Ի՞նչ դեպքերում և ինչ խնդիրների համար է կիրառվում Factory Method դիզայնի նմուշը։

Ընկերությունները, որտեղ հարցրել են
ArendadataArendadata

Պատասխան AI-ից

sobes.tech AI

Factory Method մոդելը օգտագործվում է օբյեկտներ ստեղծելու համար առանց կոնկրետ դասը նշելու։ Սա օգտակար է, երբ՝

  • Պետք է հանձնարարել օբյեկտների ստեղծումը ենթակլասներին։
  • Կոդի ճկունությունն ու ընդլայնելիությունը ապահովելու համար։
  • Պետք է թաքցնել օբյեկտների ստեղծման տրամաբանությունը հաճախորդից։

Python-ում օրինակ՝

from abc import ABC, abstractmethod

class Transport(ABC):
    @abstractmethod
    def deliver(self):
        pass

class Truck(Transport):
    def deliver(self):
        print("Բեռնատարով առաքում")

class Ship(Transport):
    def deliver(self):
        print("Նավով առաքում")

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()

# Օգտագործում
logistics = RoadLogistics()
logistics.plan_delivery()  # Արտածում՝ Բեռնատարով առաքում

Այսպիսով, Factory Method-ը հնարավորություն է տալիս տարբեր դասերի օբյեկտներ ստեղծել՝ առանց փոփոխելու նրանց օգտագործման կոդը։