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

Builder Pattern in Python

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

Что такое Builder Pattern?

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

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

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

Пример кода

Запустить код →
main.py
class ReportBuilder:
    # Builder: assemble a complex value one optional part at a time.
    def __init__(self):
        self.parts = []

    def add_title(self):
        self.parts.append("title")
        return self

    def add_chart(self):
        self.parts.append("chart")
        return self

    def build(self):
        # Hide the final assembly behind one operation.
        return "Report: " + ", ".join(self.parts)


report = ReportBuilder().add_title().add_chart().build()
print(report)

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

Report: title, chart

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

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

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

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

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

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