Что такое Абстрактная фабрика
Python
Middle
Без компании
Что такое Абстрактная фабрика
Ответы
Абстрактная фабрика — это порождающий паттерн проектирования, который позволяет создавать семейства связанных объектов, не указывая их конкретных классов. Он предоставляет интерфейс для создания объектов, но делегирует выбор их типов подклассам.
**Когда использовать:**
- Когда система не должна зависеть от способа создания, компоновки и представления объектов
- Когда нужно создавать семейства связанных объектов
**Пример на Python:**
```
from abc import ABC, abstractmethod
class AbstractFactory(ABC):
@abstractmethod
def create_product_a(self): pass
@abstractmethod
def create_product_b(self): pass
class ConcreteFactory1(AbstractFactory):
def create_product_a(self): return ProductA1()
def create_product_b(self): return ProductB1()
class ConcreteFactory2(AbstractFactory):
def create_product_a(self): return ProductA2()
def create_product_b(self): return ProductB2()
# Клиентский код работает с фабриками и продуктами через абстрактные интерфейсы
def client_code(factory: AbstractFactory):
product_a = factory.create_product_a()
product_b = factory.create_product_b()
```