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.
Практические задания
Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.
- Замените предметную область примера, сохранив структуру паттерна.
- Сравните паттерн с более простой реализацией и объясните компромиссы.
- Напишите тесты для каждого участника перед добавлением новой реализации.