Встречается на собеседованиях • сегодня
Как реализуешь паттерн Фабрика Factory
Фабрика (Factory) — это порождающий паттерн, который делегирует создание объектов подклассам. В Python можно реализовать несколькими способами:
- Простая фабрика (не полноценный паттерн, но часто используется):
python
class Dog:
def speak(self):
return "Woof!"
class Cat:
def speak(self):
return "Meow!"
def get_pet(pet="dog"):
pets = dict(dog=Dog(), cat=Cat())
return pets[pet]- Фабричный метод (создание через подклассы):
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(ABC):
@abstractmethod
def create_animal(self):
pass
class DogFactory(AnimalFactory):
def create_animal(self):
return Dog()
class CatFactory(AnimalFactory):
def create_animal(self):
return Cat()
text
3. **Абстрактная фабрика** (создание семейств объектов):
```python
class PetFood:
pass
class DogFood(PetFood):
pass
class CatFood(PetFood):
pass
class AbstractFactory(ABC):
@abstractmethod
def create_pet(self):
pass
@abstractmethod
def create_food(self):
pass
class DogFactory(AbstractFactory):
def create_pet(self):
return Dog()
def create_food(self):
return DogFood()Основные преимущества: инкапсуляция логики создания, гибкость, соблюдение SRP.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы