Sobes.tech
Junior — Middle

რის შემთხვევებში და რა დავალებებისთვის გამოიყენება Factory Method ნიმუში?

sobes.tech AI

პასუხი 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 საშუალებას აძლევს სხვადასხვა კლასის ობიექტების შექმნას, ისე რომ არ შეიცვალოს მათ გამოყენების კოდი.