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

Что ожидается на выходе у шаблона фабрика

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

Ожидаемый результат:

  • Клиентский код работает с абстрактным интерфейсом, не зная конкретных классов.
  • Создание объектов делегируется фабричным методам или классам.
  • Легко добавлять новые типы объектов без изменения существующего кода.

Пример:

python
from abc import ABC, abstractmethod

class Product(ABC):
    @abstractmethod
    def operation(self) -> str:
        pass

class ConcreteProductA(Product):
    def operation(self) -> str:
        return "Product A"

class ConcreteProductB(Product):
    def operation(self) -> str:
        return "Product B"

class Creator(ABC):
    @abstractmethod
    def factory_method(self) -> Product:
        pass

    def some_operation(self) -> str:
        product = self.factory_method()
        return f"Creator: {product.operation()}"

class ConcreteCreatorA(Creator):
    def factory_method(self) -> Product:
        return ConcreteProductA()

class ConcreteCreatorB(Creator):
    def factory_method(self) -> Product:
        return ConcreteProductB()

# Клиентский код
creator = ConcreteCreatorA()
print(creator.some_operation())  # Output: Creator: Product A

Итог: Фабрика инкапсулирует логику создания объектов, обеспечивая гибкость и расширяемость.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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