Привет, Хаброжители! Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования». Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.
«Перехватчиком» называется метод, объявленный абстрактным классом, но имеющий пустую
реализацию (или реализацию по умолчанию). Он дает возможность субклассу «подключаться» к алгоритму в разных точках. Впрочем, субкласс также может проигнорировать имеющийся перехватчик.
Рассмотрим пример возможного применения перехватчиков (другие примеры будут описаны
позднее):
Использование перехватчиков
Чтобы использовать метод-перехватчик, мы переопределяем его в субклассе. В данном случае перехватчик управляет выполнением класса CaffeineBeverage определенной части алгоритма, а именно добавками к напитку.
Как узнать, нужно ли класть клиенту в кофе сахар/молоко? Да просто спросить!
Проверяем, как работает код
Вода закипает… Следующая тестовая программа приготовит горячий чай и кофе.
И знаете что? Мы с вами согласимся. Но признайте: до того, как вам пришла в голову подобная мысль, это был классный пример использования перехватчиков для условного управления выполнением алго ритма в абстрактном классе. Верно?
Несомненно, вы сможете придумать много других, более реалистичных сценариев использования шаблонных методов и перехватчиков в своем коде.
Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок
Для Хаброжителей скидка 25% по купону — Head First
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Перехватчики в паттерне Шаблонный Метод
«Перехватчиком» называется метод, объявленный абстрактным классом, но имеющий пустую
реализацию (или реализацию по умолчанию). Он дает возможность субклассу «подключаться» к алгоритму в разных точках. Впрочем, субкласс также может проигнорировать имеющийся перехватчик.
Рассмотрим пример возможного применения перехватчиков (другие примеры будут описаны
позднее):
Использование перехватчиков
Чтобы использовать метод-перехватчик, мы переопределяем его в субклассе. В данном случае перехватчик управляет выполнением класса CaffeineBeverage определенной части алгоритма, а именно добавками к напитку.
Как узнать, нужно ли класть клиенту в кофе сахар/молоко? Да просто спросить!
Проверяем, как работает код
Вода закипает… Следующая тестовая программа приготовит горячий чай и кофе.
И знаете что? Мы с вами согласимся. Но признайте: до того, как вам пришла в голову подобная мысль, это был классный пример использования перехватчиков для условного управления выполнением алго ритма в абстрактном классе. Верно?
Несомненно, вы сможете придумать много других, более реалистичных сценариев использования шаблонных методов и перехватчиков в своем коде.
Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок
Для Хаброжителей скидка 25% по купону — Head First
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
- Обратите внимание, сейчас проходит осенняя распродажа от издательства «Питер».
MaksTR
Спасибо за информацию и за скидку. Забавно что книга из будущего, 2022-м годом датирована. Это опечатка или так задумано? Если задумано, то почему, если не секрет?
k_tultseva
Книги, которые издаются во второй половине года, по правилам маркируются уже годом следующим.