image Привет, Хаброжители! Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования». Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.

Перехватчики в паттерне Шаблонный Метод


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

Рассмотрим пример возможного применения перехватчиков (другие примеры будут описаны
позднее):

image

Использование перехватчиков

Чтобы использовать метод-перехватчик, мы переопределяем его в субклассе. В данном случае перехватчик управляет выполнением класса CaffeineBeverage определенной части алгоритма, а именно добавками к напитку.

Как узнать, нужно ли класть клиенту в кофе сахар/молоко? Да просто спросить!

image

Проверяем, как работает код

Вода закипает… Следующая тестовая программа приготовит горячий чай и кофе.

image

И знаете что? Мы с вами согласимся. Но признайте: до того, как вам пришла в голову подобная мысль, это был классный пример использования перехватчиков для условного управления выполнением алго ритма в абстрактном классе. Верно?

Несомненно, вы сможете придумать много других, более реалистичных сценариев использования шаблонных методов и перехватчиков в своем коде.

image

Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 25% по купону — Head First

По факту оплаты бумажной версии книги на e-mail высылается электронная книга.

Комментарии (7)


  1. MaksTR
    29.09.2021 20:31

    Спасибо за информацию и за скидку. Забавно что книга из будущего, 2022-м годом датирована. Это опечатка или так задумано? Если задумано, то почему, если не секрет?


    1. k_tultseva
      01.10.2021 12:01

      Книги, которые издаются во второй половине года, по правилам маркируются уже годом следующим.


  1. LazyTalent
    29.09.2021 21:56

    Уже ведь было 2е издание? в 2018? Или это с новой обложкой?


  1. GlazOtca
    01.10.2021 14:22

    Зачем такие вырвиглазные шрифты? Вы дизайнера по голове тяжелым бьете что ли?


  1. berkot
    01.10.2021 14:22

    Скажите, а зачем устоявшееся название паттерна Шаблонный метод менять на Перехватчика?


    1. voodooism
      08.11.2021 11:54

      Так название паттерна никто и не менял. Тут идёт речь об использовании "хуков", просто перевели так. Согласен, на русском режет ухо :)


  1. alexg-nn
    06.11.2021 17:12

    А в чём отличие от версии "Паттерны проектирования. Обновленное юбилейное издание"?