Паттерны проектирования: Шаблонный метод презентация

Содержание

Определение Шаблонный метод (Template method) — это поведенческий шаблон проектирования, который определяет алгоритм, некоторые методы которого делегируются подклассам, позволяя тем самым переопределить некоторые шаги алгоритма не меняя его структуры.

Слайд 1Паттерны проектирования: Шаблонный метод (Template Method)
МКД 03.01 «Технология разработки программного обеспечения»


Слайд 2Определение
Шаблонный метод (Template method) — это поведенческий шаблон проектирования, который определяет алгоритм,

некоторые методы которого делегируются подклассам, позволяя тем самым переопределить некоторые шаги алгоритма не меняя его структуры.

Слайд 3Назначение паттерна Шаблонный метод
Паттерн Template Method определяет основу алгоритма и позволяет

подклассам изменить некоторые шаги этого алгоритма без изменения его общей структуры.
Базовый класс определяет шаги алгоритма с помощью абстрактных операций, а производные классы их реализуют.


Слайд 4Решаемая проблема
Имеются два разных, но в тоже время очень похожих компонента.

Вы хотите внести изменения в оба компонента, избежав дублирования кода.

Слайд 5Обсуждение паттерна
Проектировщик компонента решает, какие шаги алгоритма являются неизменными (или стандартными),

а какие изменяемыми (или настраиваемыми). Абстрактный базовый класс реализует стандартные шаги алгоритма и может предоставлять (или нет) реализацию по умолчанию для настраиваемых шагов. Изменяемые шаги могут (или должны) предоставляться клиентом компонента в конкретных производных классах.
Проектировщик компонента определяет необходимые шаги алгоритма, порядок их выполнения, но позволяет клиентам компонента расширять или замещать некоторые из этих шагов.
Паттерн Template Method широко применяется в каркасах приложений (frameworks). Каждый каркас реализует неизменные части архитектуры в предметной области, а также определяет те части, которые могут или должны настраиваться клиентом. Таким образом, каркас приложения становится "центром вселенной", а настройки клиента являются просто "третьей планетой от Солнца". Эту инвертированную структуру кода ласково называют принципом Голливуда - "Не звоните нам, мы сами вам позвоним".

Слайд 6UML-диаграмма паттерна


Слайд 7Пример паттерна
Паттерн Template Method определяет основу алгоритма и позволяет подклассам изменить

некоторые шаги этого алгоритма без изменения его общей структуры. Строители зданий используют шаблонный метод при проектировании новых домов. Здесь могут использоваться уже существующие типовые планы, в которых модифицируются только отдельные части.

Слайд 8Пример паттрена Template Method


Слайд 9Использование паттерна
Исследуйте алгоритм и решите, какие шаги являются стандартными, а какие

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

Слайд 10Приготовление двух блюд


Слайд 11Класс Hamburger


Слайд 12Класс HotDog


Слайд 13 Класс FastFood


Слайд 14Абстрактный класс FastFood


Слайд 15Изменения в класса-наследниках


Слайд 16Изменения в абстрактном классе FastFood


Слайд 17Итоговый класс-наследник Hamburger


Слайд 18Итоговый класс-наследник HotDog


Слайд 19Класс FastFood: новый метод для реализации выбора


Слайд 20Изменение в классе-наследнике: возможность выбора


Слайд 21Определение
Шаблонный Метод определяет основу алгоритма и позволяет подклассам переопределять некоторые шаги

алгоритма, не изменяя его структуру в целом.

Шаблонный метод – это каркас, в который наследники могут подставить свои реализации

Слайд 22Диаграмма классов «Шаблонный метод»


Слайд 23Спасибо за внимание!
Паттерны проектирования: Шаблонный Метод (Template Method)


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика