Мурат Йенер, Алекс Фидом "Java EE. Паттерны проектирования для профессионалов." Питер, 2016 год, 240 стр.

Справочное пособие.

Мурат Йенер, Алекс Фидом "Java EE. Паттерны проектирования для профессионалов." Питер, 2016 год, 240 стр. ил. (4,54 мб. djvu)

Java паттерны - это шаблоны кода , часто используемые программистами при разработке программного обеспечения на языке Java (паттерны проектирования могут реализоваться на разных платформах). Плюсом использования этих шаблонов можно считать унификацию и повышение скорости разработки. Минусом можно считать, - как ни странно, как раз шаблонность (отсутствие творческого подхода, наличие "плохого кода" при излишнем использовании). Схожесть паттернам можно как пример привести использование готовых библиотек.

Книгу можно рекомендовать, как учебный курс эффективной разработке в Java EE. В ней рассмотрены теоретические основы, и приводятся практические примеры применения паттернов проектирования в реальных прикладных программах. Вы изучите базовые принципы, и часто используемые возможности, которые дает платформа Java EE 7. В каждой главе демонстрируется традиционное применение паттерна, а затем предлагается реализация его, с использованием семантики Java ЕЕ. Эта книга, как справочник, она предоставляет огромный объем информации по паттернам, начиная с описания до использования, как Java паттерны с примерами из практики. Для демонстрации примеров из книги вам потребуется компьютер с операционной системой и виртуальной машиной Java. Книга будет полезна всем разработчикам, как опытным, так и начинающим работать в среде Java EE и Java SE.
ISBN: 978-5-496-01945-3

Оглавление книги.

Часть I. Введение в паттерны проектирования Java ЕЕ
Глава 1. Краткий обзор паттернов проектирования зо
Что такое паттерн проектирования 31

Как были изобретены паттерны проектирования и почему они нам нужны 32
Паттерны в реальном мире 33
Основы паттернов проектирования 34
Корпоративные паттерны 34
От языка Java к корпоративной платформе Java 35
Появление корпоративных паттернов Java 36
Отличия паттернов проектирования от корпоративных паттернов 37
Простые паттерны проектирования в старом стиле встречаются с Java ЕЕ 37
В каких случаях паттерны становятся антипаттернами 39
Резюме 39

Глава 2. Основы Java ЕЕ 40
Многоуровневая архитектура 41
Уровень клиента 42
Промежуточный уровень 43
Веб-слой 43
Бизнес-слой 43
Уровень EIS 45
Серверы Java ЕЕ 46
Веб-профиль Java ЕЕ 46
Базовые принципы платформы Java ЕЕ 47
Соглашения по конфигурации 47
Контекст и внедрение зависимостей 48
Перехватчики 49
Резюме 50
Упражнения 50

Часть II. Реализация паттернов проектирования в Java ЕЕ
Глава 3. Паттерн «Фасад» 52
Что такое фасад 52
Реализация паттерна «Фасад» в простом коде 54
Реализация паттерна «Фасад» в Java ЕЕ 56
Фасад с компонентами без сохранения состояния 56
Фасад с компонентами с сохранением состояния 58
Где и когда использовать паттерн «Фасад» 58
Резюме 59
Упражнения 59

Глава 4. Паттерн «Одиночка» 60
Что такое одиночка 61
Диаграмма классов одиночки 62
Реализация паттерна «Одиночка» в простом коде 62
Реализация паттерна «Одиночка» в Java ЕЕ 66
Компоненты-одиночки 66
Использование одиночек при запуске 67
Определение порядка запуска 68
Управление параллелизмом 70
Где и когда использовать паттерн «Одиночка» 73
Резюме 73
Упражнения 74

Глава 5. Внедрение зависимостей и CDI 76
Что такое внедрение зависимостей 77
Реализация DI в простом коде 77
Реализация DI в Java ЕЕ 80
Аннотация @Named 81
Контекст и внедрение зависимостей (CDI) 82
CDI и EJB 83
Компоненты CDI 83
Аннотация @Inject 84
Контексты и области видимости 85
Именование и EL 85
CDI-компоненты для управляемых JSF 86
Квалификаторы 86
Альтернативы 87
Стереотипы 87
Другие паттерны посредством CDI 88
Резюме 89
Упражнения 89

Глава 6. Паттерн «Фабрика» 90
Что такое фабрика 90
Фабричный метод 91
Абстрактная фабрика 94
Реализация абстрактной фабрики в Java ЕЕ 96
Когда и где использовать паттерны «Фабрика» 106
Резюме 106
Упражнения 106

Глава 7. Паттерн «Декоратор» 107
Что такое декоратор 108
Реализация паттерна «Декоратор» в простом коде 109
Реализация паттерна «Декоратор» в Java ЕЕ 113
Где и когда использовать паттерн «Декоратор» 119
Резюме 120
Упражнения 120

Глава 8. Аспектно-ориентированное программирование(перехватчики) 121
Что такое аспектно-ориентированное программирование 122
Реализация АОП в простом коде 124
Аспекты в Java ЕЕ, перехватчики 126
Жизненный цикл перехватчика 129
Перехватчики уровня по умолчанию 130
Порядок выполнения перехватчиков 131
CDI-перехватчики 134
Где и когда использовать перехватчики 136
Резюме 137

Глава 9. Асинхронность 138
Что такое асинхронное программирование 139
Реализация паттерна «Асинхронность» в простом коде 141
Асинхронное программирование в Java ЕЕ 143
Асинхронные компоненты 143
Асинхронные сервлеты 145
Где и когда применять асинхронное программирование 149
Резюме 150
Упражнения 151

Глава 10. Сервис таймера 152
Что такое сервис таймера 152
Реализация таймеров в Java ЕЕ 154
Автоматические таймеры 155
Программные таймеры 156
Выражения таймеров 159
Транзакции 161
Резюме 162
Упражнения 162

Глава 11. Паттерн «Наблюдатель» 163
Что такое наблюдатель 163
Описание 164
Диаграмма классов наблюдателя 165
Реализация паттерна «Наблюдатель» в простом коде 166
Реализация паттерна «Наблюдатель» в Java ЕЕ 168
Где и когда использовать паттерн «Наблюдатель» 174
Резюме 175
Упражнения 176

Глава 12. Паттерн «Доступ к данным» 177
Что такое паттерн «Доступ к данным» 178
Обзор паттерна «Доступ к данным» 179
Паттерн «Объект передачи данных» 179
Java Persistence Architecture API и объектно-реляционное отображение 180
Реализация паттерна «Доступ к данным» в Java ЕЕ 181
Где и когда использовать паттерн «Доступ к данным» 187
Резюме 188
Упражнения 188

Глава 13. Веб-сервисы, воплощающие REST 189
Что такое REST 190
Шесть ограничений REST 191
Клиент-сервер 192
Унифицированный интерфейс 192
Отсутствие сохранения состояния 192
Кэшируемость 192
Многослойносгь системы 192
Код по запросу 193
Модель зрелости Ричардсона API REST 193
Уровень 0. «Болото» РОХ 193
Уровень 1. ресурсы 194
Уровень 2. «Глаголы» HTTP 194
Уровень 3. Управляющие элементы гипермедиа 194
Проектирование воплощающего REST API 194
Именование ресурсов 195
Существительные, а не глаголы 195
Информативность 195
Множественное, а не единственное число 196
Методы HTTP 196
GET 196
POST 197
PUT 197
DELETE 197
REST в действии 197
Существительное users 198
Существительное topics и существительное posts 199
Реализация REST в Java ЕЕ 200
HATEOAS 204
Где и когда использовать REST 206
Резюме 207
Упражнения 207

Глава 14. Паттерн «Модель — представление — Контроллер» 208
Что такое паттерн проектирования MVC 209
Реализация паттерна MVC в простом коде 211
Реализация паттерна MVC в Java ЕЕ 215
FacesServlet 215
MVC с использованием FacesServlet 216
Где и когда использовать паттерн MVC 218
Резюме 218
Упражнение 218

Глава 15. Другие паттерны в Java ЕЕ 219
Что такое веб-сокеты 219
Что такое ориентированное на обработку сообщений ПО промежуточного уровня 222
Что такое архитектура микросервисов 224
Монолитная архитектура 224
Масштабируемость 225
Декомпозиция на сервисы 226
Выгоды микросервисов 227
Ничто в жизни не бывает бесплатно 228
Выводы 229
Наконец, несколько антипаттернов 230
Сверхкласс 230
Лазанья-архитектура 230
Господин Колумб 230
Друзья с привилегиями 231
Дорогостоящие технологические новинки 231
«Мастер на все руки» 232

Часть III. Подведем итоги
Глава 16. Паттерны проектирования: хорошие, плохие, ужасные 234
Хороший: паттерны для успеха 234
Плохой: излишнее и неправильное использование паттернов 236
...ужасные 237
Резюме 239

Скачать книгу бесплатно4,54 мб. djvu