Spring. Все паттерны проектирования - Динеш Раджпут - E-Book

Spring. Все паттерны проектирования E-Book

Динеш Раджпут

0,0

Beschreibung

В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 329

Veröffentlichungsjahr: 2022

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

Динеш Раджпут
Spring. Все паттерны проектирования
2018

Переводчики Е. Иконникова , И. Пальти

Технические редакторы Н. Гринчик, Н. Хлебина

Литературные редакторы Н. Гринчик, Н. Хлебина

Художники Н. Гринчик, С. Заматевская , Г. Синякина (Маклакова)

Корректоры Е. Павлович, Т. Радецкая

Верстка Г. Блинов

 

Динеш Раджпут

Spring. Все паттерны проектирования. — СПб.: Питер, 2018.

 

ISBN 978-5-4461-0935-7

© ООО Издательство "Питер", 2018

 

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

 

Оглавление

Об авторе
О рецензенте
Предисловие
Темы, рассматриваемые в книге
Что нужно для чтения книги
Принятые обозначения
Скачивание кода примеров
Об ошибках
1. Знакомство с Spring Framework 5.0 и паттернами проектирования
Знакомство с фреймворком Spring
Упрощение разработки приложений благодаря применению Spring и паттернов
Использование контейнеров Spring для управления компонентами с помощью паттерна «Фабрика»
Жизнь компонента в контейнере
Модули фреймворка Spring
Новые возможности Spring Framework 5.0
Резюме
2. Обзор паттернов проектирования GoF: базовые паттерны проектирования
Возможности паттернов проектирования
Обзор часто используемых паттернов проектирования GoF
Порождающие паттерны проектирования
Резюме
3. Соображения по поводу структурных и поведенческих паттернов
Базовые паттерны проектирования
Паттерны проектирования J2EE
Резюме
4. Связывание компонентов с помощью паттерна внедрения зависимостей
Паттерн внедрения зависимостей
Виды внедрения зависимостей
Описание конфигурации паттерна внедрения зависимостей с помощью Spring
Использование паттерна внедрения зависимостей с Java-конфигурацией
Использование паттерна внедрения зависимостей с XML-конфигурацией
Использование паттерна внедрения зависимостей с конфигурацией на основе аннотаций
Рекомендуемые практики для конфигураций паттерна DI
Резюме
5. Жизненный цикл компонентов и используемые паттерны
Жизненный цикл компонента Spring и его фазы
Области видимости компонентов
Резюме
6. Аспектно-ориентированное программирование в Spring с помощью паттернов «Заместитель» и «Декоратор»
Паттерн «Заместитель» в Spring
Что такое сквозная функциональность
Что такое аспектно-ориентированное программирование
Основные понятия и терминология AOP
Задание срезов
Создание аспектов
Реализация советов
Описание аспектов с помощью XML-конфигурации
AOP-прокси
Резюме
7. Доступ к базе данных с помощью фреймворка Spring и JDBC-реализаций паттерна «Шаблонный метод»
Оптимальный подход к проектированию доступа к данным
Настройка источника данных и паттерн «Пул объектов»
Реализация паттерна «Строитель» для создания встроенного источника данных
Абстрагирование доступа к базе данных с помощью паттерна DAO
Реализация паттерна DAO с помощью фреймворка Spring
Рекомендуемые практики JDBC и настройки JdbcTemplate
Резюме
8. Доступ к базе данных с помощью паттернов ORM и транзакций
Фреймворки ORM и используемые в них паттерны
Паттерн «Объект доступа к данным»
Интеграция Hibernate со Spring
Стратегии управления транзакциями в Spring
Рекомендуемые практики для ORM Spring и модуля транзакций приложения
Резюме
9. Улучшение производительности приложения с помощью паттернов кэширования
Что такое кэш
Абстракция кэша
Включение возможности кэширования посредством паттерна «Заместитель»
Декларативное кэширование с помощью аннотаций
Декларативное кэширование с помощью XML
Настройка хранилища кэша
Сторонние диспетчеры кэша
Создание пользовательских аннотаций кэширования
Лучшие рекомендуемые практики для веб-приложений
Резюме
10. Реализация паттерна MVC в веб-приложениях с помощью фреймворка Spring
Реализация паттерна MVC в веб-приложении
Архитектура «Модель 2» паттерна MVC в Spring
Включение возможностей MVC Spring
Передача данных модели представлению
Привязка данных с помощью паттерна проектирования «Команда»
Проверка корректности входных параметров форм
Реализация компонента «Представление» в паттерне MVC
Рекомендуемые практики проектирования веб-приложений
Резюме
11. Реализация реактивных паттернов проектирования
Изменение требований к приложениям с течением времени
Паттерн «Реактивность»
Блокирующие вызовы
Неблокирующие вызовы
Контроль обратного потока данных
Реализация реактивности с помощью фреймворка Spring 5.0
Реактивный веб-модуль Spring
Преобразование типов тела запроса и ответа
Резюме
12. Реализация конкурентных паттернов
Паттерн «Активный объект»
Паттерн проектирования «Монитор»
Паттерны «Полусинхронность» и «Полуасинхронность»
Паттерн «Ведущий/ведомые»
Паттерн «Реактор»
Паттерн «Локальная память потока выполнения»
Резюме

Посвящается моим родителям, жене и сыну Арнаву.

Отдельное посвящение — моему покойному деду Аржуну Сингху.

Об авторе

Динеш Раджпут — главный редактор сайта Dineshonjava, технического блога, посвященного технологиям Java и Spring. На сайте размещены статьи на тему Java-технологий. Динеш — блогер, автор книг, c 2008 года энтузиаст Spring, сертифицированный специалист компании Pivotal (Pivotal Certified Spring Professional). Обладает более чем десятилетним опытом проектирования и разработки с использованием Java и Spring. Специализируется на работе с последней версией Spring Framework, Spring Boot, Spring Security, на создании REST API, архитектуре микросервисов, реактивном программировании, аспектно-ориентированном программировании с применением Spring, паттернах проектирования, Struts, Hibernate, веб-сервисах, Spring Batch, Cassandra, MongoDB, архитектуре веб-приложений.

В настоящее время Динеш работает менеджером по технологиям в одной из компаний, лидирующих в области создания программного обеспечения (ПО). Был разработчиком и руководителем команды в Bennett, Coleman & Co. Ltd, а до этого — ведущим разработчиком в Paytm. Динеш с восторгом относится к новейшим технологиям Java и любит писать о них в технических блогах. Является активным участником Java- и Spring-сообществ на различных форумах. Динеш — один из лучших специалистов по Java и Spring.

При написании данной книги я общался со многими людьми, помогавшими мне разобраться в неочевидных деталях реактивного программирования и паттернов «банды четырех».

В первую очередь я хотел бы поблагодарить рецензента, Раджива Кумара Мохана, технического консультанта и преподавателя. Особая благодарность Навину Джайну, который помог мне придумать реалистичные ситуации применения всех паттернов проектирования «банды четырех», приведенные в примерах.

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

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

О рецензенте

Раджив Кумар Мохан обладает большим опытом разработки ПО и корпоративного обучения. На протяжении 18 лет он работал в таких крупнейших IT-компаниях, как IBM, Pentasoft, Sapient и Deft Infosystems. Начал карьеру как программист, руководил многими проектами.

Является экспертом в предметной области Java, J2EE и родственных фреймворках, Android, UI-технологиях. Сертифицирован компанией Sun в качестве Java-программиста (SCJP, Sun Certified Java Programmer) и веб-разработчика на Java (Sun Certified Web Component Developer, SCWCD). Раджив имеет четыре высших образования: в области информатики (Computer Science), прикладной информатики (Computer Applications), органической химии и делового администрирования (MBA). Является консультантом по подбору персонала и экспертом по обучению в HCL, Amdocs, Steria, TCS, Wipro, Oracle University, IBM, CSC, Genpact, Sapient Infosys и Capgemini.

Раджив — основатель фирмы SNS Infotech, расположенной в городе Большая Нойда. Кроме того, он работал в Национальном институте технологий моды (National Institute Of Fashion Technology, NIFT).

Хотел бы поблагодарить Бога за возможность рецензировать эту книгу, а моих детей Сану и Саину и жену Нилам — за их помощь и поддержку, позволившие мне закончить работу в срок.