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