Junior — Middle
83
W jakich przypadkach i do jakich zadań stosuje się wzorzec Factory Method?
Firmy, w których zadano pytania
Odpowiedź od 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 позволяет создавать объекты различных классов, не меняя код, который их использует.