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

Proxy Pattern in Python

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

Что такое Proxy Pattern?

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

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

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

Пример кода

Запустить код →
main.py
class Report:
    # Proxy: stand in for another object and control access to it.
    def display(self): return "Quarterly report"


class ReportProxy:
    def __init__(self): self._report = None

    def display(self):
        # Delay construction until the object is actually needed.
        if self._report is None:
            print("Loading report")
            self._report = Report()
        return self._report.display()


proxy = ReportProxy()
print(proxy.display())

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

Loading report
Quarterly report

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

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

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

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

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

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