Что такое Абстрактная фабрика

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