Шаблонный метод (Template Method) — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Варианты)
(Достоинства и недостатки)
Строка 21: Строка 21:
  
 
=== Достоинства и недостатки ===
 
=== Достоинства и недостатки ===
*  
+
* Паттерн способствует повторному использованию кода.
 +
* Паттерн позволяет создать каркас приложения, для использования которого в заданной предметной области достаточно переопределить несколько методов.
 +
* Если базовый метод вызывает слишком много абстрактных методов, которые надо переопределять, то использование паттерна становится неудобно
  
 
=== Варианты ===
 
=== Варианты ===
 
*Абстрактный класс реализует часть методов, предоставляя реализацию по умолчанию.
 
*Абстрактный класс реализует часть методов, предоставляя реализацию по умолчанию.

Версия 20:23, 31 июля 2014

К основной странице курса

Назначение

Определяет каркас алгоритма с изменяющимися областями и позволяет наследникам переопределять эти области.

Описание

В ряде видов приложений обычно имеется общий каркас (шаблон), состоящий из нескольких взаимосвязанных классов, объекты которых друг с другом взаимодействуют. Для конкретных потребностей можно породить подклассы этих классов, переопределив в них ряд методов и обеспечив тем самым вариабельность на основе данного каркаса.

Каркас изменить невозможно. Классы-потомки позволяют локализовать в себе новое поведение.

Реализация

Диаграмма классов

TemplateCommon.png

Участники

Пример

Достоинства и недостатки

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

Варианты

  • Абстрактный класс реализует часть методов, предоставляя реализацию по умолчанию.