Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 1.99 KB

File metadata and controls

49 lines (31 loc) · 1.99 KB

Шаблонный метод

Высокоуровневый план алгоритма, который должен быть завершён наследниками

builder.png

Source


Описание

Шаблонный метод (Template method) – позволяет нам определить скелет алгоритма с конкретными реализациями, определенными в подклассах.


Мотивация

  • Алгоритмы можно разложить на общие части и специфику
  • Шаблон Стратегия делает это через композицию
    • Алгоритм высокого уровня использует интерфейс
    • Конкретные реализации реализуют интерфейс
  • Шаблонный метод делает то же самое через наследование
    • Общий алгоритм использует абстрактный член
    • Наследники переопределяют абстрактные члены
    • Вызывается родительский шаблонный метод

Реализация


Заключение

  • Определите алгоритм на высоком уровне
  • Определите составные части как абстрактные методы / свойства
  • Наследуйте класс алгоритма, предоставив необходимые реализации

Полезные ресурсы