Что такое паттерн Фабрика
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!
```
**Когда использовать:**
- Когда заранее неизвестно, объекты каких типов нужно создавать.
- Когда система должна быть независимой от процесса создания объектов.