Встречается на 2% собеседований по Python

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

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

Плюсы:

  • Упрощает добавление новых типов объектов без изменения существующего кода.
  • Инкапсулирует логику создания объектов.
  • Позволяет работать с абстракциями, а не конкретными классами.

Пример на Python:

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!

Когда использовать:

  • Когда заранее неизвестно, объекты каких типов нужно создавать.
  • Когда система должна быть независимой от процесса создания объектов.

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

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

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