Junior — Middle
79
Қандай жағдайларда және қандай тапсырмалар үшін Factory Method үлгісі пайдаланылады?
Сұралған компаниялар
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 позволяет создавать объекты различных классов, не меняя код, который их использует.