Шаблоны программирования на Swift: Template Method

example-template-method_proSwift_ru

В этой статье мы рассмотрим шаблон программирования Шаблон (Template Method) на Swift в среде разработки XCode

Template Method

Вы заметили как много в нашей жизни шаблонов? Ну к примеру – наше поведение когда мы приходим в незнакомый дом:

  1. Зайти
  2. Поздороваться с ясхозяевами
  3. Раздеться, молясь о том что у нас носки не дырявые
  4. Пройти, и охать удивляясь какая большая/уютная/забавная квартира

Или же когда мы приходим в квартиру, где происходит ремонт:

  1. Зайти
  2. Поздороваться с хозяевами
  3. Не раззуваться, потому как грязно!
  4. Поохать когда хозяин квартиры поведает нам смелость его архитектурной мысли!

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

Сам паттерн ну очень интуитивный, и я уверен что многие давно уже использовали его. Потому давайте попробуем сделать пример. Вернемся к старой практике, писать примеры по созданию телефонов!

Итак, напишем наш шаблонный класс, при помощи которого будем создавать телефон:

Как вы уже наверное догадались – сам шаблонный метод, это метод makePhone – который задает последовательность вызовов методов необходимых для складывания телефонов. Давайте теперь научим нашу программу создавать айфоны:

У сборщика яблочных телефонов есть один дополнительный метод – design, а также перегруженный метод takeBox в котором дополнительно вызывается метод design и после этого вызывается родительский метод takeBox.

На очереди сборка Android:

У сборщика андроида аж целых два дополнительных метода, и перегружен метод assemble.

Тест здесь конечно же – элементарный

И традиционный лог в консоль


Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*