Встречается на собеседованиях • сегодня

Что такое Factory

Фабрика (Factory) — это порождающий паттерн проектирования, который предоставляет интерфейс для создания объектов, позволяя подклассам изменять тип создаваемых объектов.

Основная идея — делегировать создание объектов отдельному методу или классу, а не создавать их напрямую через конструктор.

Пример:

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!

text

**Плюсы:**  
- Гибкость: можно легко добавлять новые типы объектов.  
- Инкапсуляция: логика создания скрыта от клиентского кода.  
- Упрощение тестирования: можно подменять фабрики в тестах.  

**Минусы:**  
- Усложнение кода из-за дополнительных классов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы