Паттерны проектирования Python

Factory Method Pattern in Python

Изучите Factory Method Pattern in Python на практическом примере, который можно изменить и запустить онлайн.

Что такое Factory Method Pattern?

Изучите Factory Method Pattern in Python на практическом примере, который можно изменить и запустить онлайн.

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

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

Пример кода

Запустить код →
main.py
class EmailNotification:
    # Factory Method: creation is separated from object usage.
    def send(self, message):
        return f"Email: {message}"


class SmsNotification:
    def send(self, message):
        return f"SMS: {message}"


def create_notification(channel):
    # Centralize the concrete-class selection.
    factories = {"email": EmailNotification, "sms": SmsNotification}
    return factories[channel]()


notification = create_notification("email")
print(notification.send("Hello"))

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

Email: Hello

Как это работает

Этот пример демонстрирует Factory Method Pattern in Python. Измените входные данные, чтобы изучить работу кода.

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Замените предметную область примера, сохранив структуру паттерна.
  2. Сравните паттерн с более простой реализацией и объясните компромиссы.
  3. Напишите тесты для каждого участника перед добавлением новой реализации.
Запустить в Python IDE →