Sobes.tech
Junior — Middle

Hansı hallarda və hansı tapşırıqlar üçün Factory Method nümunəsi tətbiq olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Factory Method nümunəsi, yaradılan obyektin konkret sinfini göstərmədən obyektlər yaratmaq üçün istifadə olunur. Bu, aşağıdakı hallarda faydalıdır:

  • Obyektlərin yaradılmasını alt sinflərə həvalə etmək lazım olduqda.
  • Koddakı elastikliyi və genişləndirilə bilənliyi təmin etmək üçün.
  • Obyektlərin yaradılma məntiqini müştəridən gizlətmək lazım olduqda.

Python nümunəsi:

from abc import ABC, abstractmethod

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

class Truck(Transport):
    def deliver(self):
        print("Yük maşını ilə çatdırılma")

class Ship(Transport):
    def deliver(self):
        print("Gəmiylə çatdırılma")

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

# İstifadə
logistics = RoadLogistics()
logistics.plan_delivery()  # Nəticə: Yük maşını ilə çatdırılma

Bu şəkildə, Factory Method müxtəlif sinf obyektlərinin yaradılmasına imkan verir və onları istifadə edən kodu dəyişdirmədən yeni sinflər əlavə etmək mümkündür.