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

Для чего нужен паттерн Фабрика Factory

Паттерн Factory (Фабрика) используется для создания объектов без явного указания их конкретных классов. Он делегирует инстанцирование подклассам, что делает код более гибким и расширяемым.

Основные причины использования:

  1. Инкапсуляция создания объектов – логика создания скрыта от клиентского кода.
  2. Гибкость – можно легко добавлять новые типы объектов, не изменяя существующий код.
  3. Соблюдение принципа открытости/закрытости (OCP) – код открыт для расширения, но закрыт для модификации.

Пример:

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:
    @staticmethod
    def create_animal(animal_type):
        if animal_type == "dog":
            return Dog()
        elif animal_type == "cat":
            return Cat()
        raise ValueError("Unknown animal type")

animal = AnimalFactory.create_animal("dog")
print(animal.speak())  # Вывод: Woof!

Когда применять:

  • Когда заранее неизвестно, объекты каких классов потребуются.
  • Когда система должна быть независимой от процесса создания объектов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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