Паттерн Template Method Презентацию подготовил студент 245 группы Математико-механического факультета СПбГУ Мусаев Мехти
Название и классификация Template Method (-шаблонный метод) – паттерн поведения классов.
Назначение Шаблонный метод определяет основу алгоритма и позволяет подклассам переопределить некоторые шаги алгоритма, не изменяя его структуру в целом
Мотивация docs
Применимость Однократное использование инвариантной части алгоритма Избежание дублирования кода Управление расширениями подклассов
Структура
Участники AbstractClass(Application) – абстрактный класс ConcreteClass (MyApplication) – конкретный класс
Отношения ConcreteClass предполагает, что инвариантные шаги алгоритма будут выполнены в AbstractClass
Результаты Шаблонные методы вызывают операции следующих видов: Конкретные операции Конкретные операции из класса AbstractClass Примитивные операции Фабричные методы Операции-зацепки
Реализация Использование контроля доступа в C++ Сокращение числа примитивных операций Соглашение об именах
Известные применения пример с сервисами
Родственные паттерны Factory Method Strategy