Каким образом реализовать паттерн Factory для создания объектов?

Паттерн Factory (фабрика) используется для создания объектов без указания конкретного класса создаваемого объекта.

Короткий ответ

Что ответить на собеседовании

Паттерн Factory (фабрика) используется для создания объектов без указания конкретного класса создаваемого объекта. В Python это обычно реализуется через функцию или класс с методом, который возвращает экземпляры нужных классов в зависимости от входных параметров.

Подробный разбор

Ответ с пояснениями

Паттерн Factory (фабрика) используется для создания объектов без указания конкретного класса создаваемого объекта. В Python это обычно реализуется через функцию или класс с методом, который возвращает экземпляры нужных классов в зависимости от входных параметров.

Пример реализации фабрики с классами животных:

class Dog:
    def speak(self):
        return "Гав"

class Cat:
    def speak(self):
        return "Мяу"

class AnimalFactory:
    @staticmethod
    def create_animal(animal_type):
        if animal_type == "dog":
            return Dog()
        elif animal_type == "cat":
            return Cat()
        else:
            raise ValueError(f"Неизвестный тип животного: {animal_type}")

# Использование
animal = AnimalFactory.create_animal("dog")
print(animal.speak())  # Выведет: Гав

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее