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

Template Method Pattern in Python

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

Что такое Template Method Pattern?

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

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

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

Пример кода

Запустить код →
main.py
from abc import ABC, abstractmethod


class DataPipeline(ABC):
    # Template Method: fix the workflow and customize selected steps.
    def run(self):
        # Keep the algorithm order stable.
        return ["read", self.process(), "save"]

    @abstractmethod
    def process(self): pass


class CsvPipeline(DataPipeline):
    def process(self): return "process CSV"


print(" -> ".join(CsvPipeline().run()))

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

read -> process CSV -> save

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

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

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

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

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

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