Язык Java и популярные фреймворки, основанные на Java, включают дополнительные проверенные практики разработки в свои программные интерфейсы с каждой новой основной версией. Эти практики, называемые шаблонами проектирования, получают известные названия, программную реализацию и технику рефакторинга, и, кроме этого, определяются риски и компромиссы, связанные с их использованием. В шаблонах проектирования ответственность каждой компоненты определяется ролью. Соглашения, принятые в документации по шаблонам проектирования, упрощают для различных команд разработчиков согласование их намерений при создании программ, а также обеспечивают точку отсчета для всего сообщества Java разработчиков.
В данном курсе дается обзор общеизвестных и новых шаблонов, специфичных для Java SDK и EE разработки. Слушатели изучают тонкости и эволюцию Java технологий, основанных на шаблонах, с упором на соглашения, принятые в Java EE 6. Практические упражнения позволяют слушатлям научиться определять, применять шаблоны и осуществлять их рефакторинг в коде с помощью NetBeans или Eclipse IDE и сервера приложений GlassFish Application Server v3. Кроме того, слушатели изучают подмножество обозначений UML вместо кода для осуществления коммуникации при проектировании.
Слушатели обучаются:
-
Различать возможности применения шаблонов в Java EE 5 и Java EE 6
-
Реализации соответствующих шаблонов в каждом уровне Java EE окружения
-
Рефакторингу кода для улучшения коммуникации между уровнями
-
Пониманию связи разработки на основе шаблонов с реализацией архитектуры
-
Применению объектно-ориентированных принципов и рекомендаций по проектированию
-
Реализации известных шаблонов при решении специфичных для Java задач, связанных с кодом
Необходимая предварительная подготовка:
-
Опыт разработки с использованием Java SE и Java EE
-
Java Programming Language, Java SE 6
-
Developing Applications for the Java EE 6 Platform
Цель курса:
-
Основные принципы проектировния для объектно-ориентированной разработки
-
Применение специфичных для Java технологий реализации к известным шаблонам
-
Использование шаблонов для проектирования Java приложения
-
Использование шаблонов to для проектирования приложения web-уровня
-
Использование шаблонов для проектирования приложения бизнес-уровня
-
Использование шаблонов для улучшения коммуникации между Java EE уровнями
-
Определение и рефакторинг анти-шаблонов в рабочем коде
-
Использование части учебной архитектурной схемы, выбор шаблонов проектирования для реализации схемы
Аудитория курса:
-
Разработчики Java EE
-
Разработчики Java
-
Архитекторы
-
Разработчики J2EE
-
Разработчики приложений
Обзор объектно-ориентированных принципов в Java
-
Применение OO концепций к Java.
-
Применение OO принципов к Java.
-
Задачи OO языка.
-
Интерпретация обозначений Unified Modeling Language (UML) и создание UML диаграмм.
-
Выбор шаблонов проектирования.
Обзор набора из четырех шаблонов
-
Основные шаблоны поведения, разработки и структуры.
-
Применение шаблона Facade.
-
Применение шаблона Strategy.
-
Применение шаблона Observer Применение шаблона Composite.
-
Обзор шаблонов Model-View-Controller (MVC).
Шаблоны реализации в Java
-
Использование шаблонов реализации, спроектированных для Java.
-
Что влияет на шаблоны класса, состояния и поведения.
-
Отличие шаблонов, идиом и рефакторинга друг от друга.
Изменения в Java EE технологии
-
Задачи проектирования Java EE модели.
-
Улучшения в Java EE 6 модели.
Реализация шаблонов интеграции
-
Описание шаблонов проектирования для интеграционного уровня.
-
Обзор Java EE интеграционных изменений, использующих шаблонов проектирования.
-
Варианты применения шаблонов интеграционного уровня.
Реализация шаблонов в бизнес-компонентах
-
Роль enterprise bean.
-
Описание шаблонов проектирования для бизнес-уровня.
Реализация шаблонов инфраструктуры в Java EE
-
Роль Java EE шаблонов инфраструктуры.
-
Описание шаблона Service Starter.
-
Описание шаблона Singleton.
-
Описание шаблона Bean Locator Описание шаблона Resource Binder.
Реализация дополнительных шаблонов инфраструктуры
-
Как работают Java EE интерсепторы.
-
Описание шаблона Dependency Injection Extender.
-
Описание шаблона Payload Extractor.
-
Описание шаблона Context Holder.
-
Описание шаблона Thread Tracker.
Анти-шаблоны
-
Закон Leaky Abstractions.
-
Определение анти-шаблонов.
-
Описание анти-шаблонов интеграционного уровня.
-
Описание анти-шаблонов бизнес-уровня.
-
Описание анти-шаблонов презентационного уровня.
Выбор шаблонов для архитектуры
-
Определение ролей архитектора, дизайнера и разработчика.
-
Связь между шаблонами проектпрования и архитектурой.
-
Общие указания по применению шаблонов к архитектурным решениям.