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

Facade Pattern in Python

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

Что такое Facade Pattern?

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

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

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

Пример кода

Запустить код →
main.py
class Inventory:
    # Facade: expose one simple operation over several services.
    def reserve(self): return True


class Payment:
    def charge(self): return True


class OrderFacade:
    def place_order(self):
        # Coordinate subsystem operations in the required order.
        if Inventory().reserve() and Payment().charge():
            return "Order placed"
        return "Order failed"


print(OrderFacade().place_order())

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

Order placed

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

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

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

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

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

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