Что такое паттерн Фабрика

Python Junior Билайн
Что такое паттерн Фабрика
Ответы
Фабрика — это порождающий паттерн проектирования, который предоставляет интерфейс для создания объектов, но делегирует выбор их типа подклассам. **Плюсы:** - Упрощает добавление новых типов объектов без изменения существующего кода. - Инкапсулирует логику создания объектов. - Позволяет работать с абстракциями, а не конкретными классами. **Пример на Python:** ``` from abc import ABC, abstractmethod class Animal(ABC): @abstractmethod def speak(self): pass class Dog(Animal): def speak(self): return "Woof!" class Cat(Animal): def speak(self): return "Meow!" class AnimalFactory: def create_animal(self, animal_type): if animal_type == "dog": return Dog() elif animal_type == "cat": return Cat() else: raise ValueError("Unknown animal type") factory = AnimalFactory() animal = factory.create_animal("dog") print(animal.speak()) # Вывод: Woof! ``` **Когда использовать:** - Когда заранее неизвестно, объекты каких типов нужно создавать. - Когда система должна быть независимой от процесса создания объектов.