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

Abstract Factory Pattern in Python

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

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

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

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

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

Пример кода

Запустить код →
main.py
class DarkButton:
    # Abstract Factory: create products that belong to one family.
    def render(self): return "Dark button"


class DarkCheckbox:
    def render(self): return "Dark checkbox"


class DarkThemeFactory:
    # Produce a compatible family of UI objects.
    def create_button(self): return DarkButton()
    def create_checkbox(self): return DarkCheckbox()


factory = DarkThemeFactory()
print(factory.create_button().render())
print(factory.create_checkbox().render())

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

Dark button
Dark checkbox

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

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

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

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

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

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