Курс: Шаблоны проектирования приложений масштаба предприятия

Курс: Шаблоны проектирования приложений масштаба предприятия

Курс: Шаблоны проектирования приложений масштаба предприятия


Продолжительность курса: 24 ак. ч.

Описание курса:
Данный учебный курс по разработке корпоративных приложений содержит подробные описания основных архитектурных стилей, как их выбрать на основе желаемых атрибутов качества. Рассматриваются конкретные типовые решения (шаблоны) для различных уровней абстракции системы, даются подробные сведения о сфере их использования и о некоторых нюансах реализации.
В курсе рассматриваются шаблоны различных уровней абстракции: модулей, приложений, системы – которые расширят кругозор слушателей, помогут понять принципы построения и коммуникации средних и больших систем. Рассмотренные подходы могут быть применены как для распределенных, так и монолитных решений.
Курс рассчитан на старших разработчиков и начинающих архитекторов, которые после освоения курса будут знать основные подходы к реализации бизнес-логики ИС, уметь идентифицировать типы подсистем для выбора наиболее подходящей стратегии реализации. Также будут более осведомлены о компромиссах, на которые они идут, выбирая тот или иной подход к построению ИС, а также получат некоторые другие знания и навыки, необходимые для проектирования корпоративных приложений.

Аудитория:
• Старшие разработчики;
• Начинающие архитекторы.

Необходимая подготовка:
• Знание принципов объектно-ориентированного программирования;
• Опыт работы с объектно-ориентированными языками от 1 года;
• Знание UML;
• Базовые знания английского языка.

Программа курса:
Модуль 1. Введение
• Задачи курса, знакомство;
• Введение в архитектуру, ее задачи и артефакты;
• Основные принципы построения архитектуры и связь с бизнес-целями;
• Каталоги шаблонов проектирования.

Модуль 2. Архитектурные стили
• Архитектурные стили и шаблоны, в чем разница и каким целям служат;
• Рассмотрение основных архитектурных стилей (8 базовых + вариации). Предпосылки становления, особенности работы, влияние бизнес-целей на выбор и обоснование выбора. Рассматриваются плюсы и минусы реализации, возможности миграции с одного стиля на другой в зависимости от бизнес-целей и роста потребностей бизнеса.

Модуль 3. Базовые шаблоны
• Базовые шаблоны для организации внутренней логики модулей\подсистем. Рассмотренные шаблоны позволяют поднять уровень абстракции описания внутренней логики модулей системы. Инкапсуляция логики правильными способами позволит уменьшить вероятность ошибок и позволит более полно раскрыть потенциал объектно-ориентированного подхода разработки;
• Среди рассмотренных шаблонов будут такие как: Measurement, Specification, NullObject, Range и другие.

Модуль 4. Шаблоны доменной логики
• Рассматриваются 3 базовых подхода к организации доменной логики, а также принципы использования в зависимости от роли модуля в системе;
• Обсуждаются принципиальные шаблоны реализации сложной доменной логики. Введение в стратегический и тактический дизайн доменной логики, работа с агрегатами, и как обозначить первичные границы ограниченных контекстов;
• Среди рассмотренных шаблонов будут такие как: Aggregate, Actor Model, Active Record, Rich/Anemic подходы к дизайну доменной логики.

Модуль 5. Архитектурные шаблоны доступа к данным
• Принципы организации доступа к источникам данных, организация маппинга данных в зависимости от контекста, как учитывать миграцию данных от версии к версии;
• Как организовать согласованное сохранение разнотипных данных с помощью шаблона UnitOfWork. Особенности реализации для реляционных баз данных и не только. Возможность применения для сложных доменных процессов;
• Особенности сохранения сложных иерархий в хранилище данных, плюсы и минусы различных вариантов структур;
• Работа с ключами. Рассматриваются стратегии создания ключей, форматы, плюсы и минусы подходов в зависимости от контекста окружения.

Модуль 6. Шаблоны управления ресурсами
• В модуле рассматриваются основные свойства кеширования и пулинга ресурсов. Когда и что должно использоваться, плюсы и минусы подходов. Обсуждаются стратегии кеширования, особенности реализации для локального использования и для распределенных систем.

Модуль 7. Шаблоны коммуникации
• Обсуждение основных классов коммуникационных сообщений (3), особенности применения, правила составления. Освещаются сложности коммуникации и зависимостей сервисов, при неправильном использовании классов сообщений;
• Рассматриваются особенности распределенных транзакций, использование шаблона Saga, сложности и назначение шаблона. Как обеспечить безопасную рассылку сообщений в результате выполнения сложной транзакции.

Модуль 8. Шаблоны стабильности
• Обсуждение основных технических проблем приложений в продуктовом окружении, и как с ними бороться. Современные системы обычно представлены набором распределенных сервисов и источников данных, все они могут рано или поздно быть недоступны по разным причинам, зачастую вызванных самими разработчиками – эти причины рассматриваются в модуле. Естественно, для многих анти-паттернов существуют решения как их убрать или минимизировать эффекты. Слушатели также с ними ознакомятся.

Модуль 9. Заключение

Окончательная цена указывается в договоре на обучение.

Характеристики курса

  • Начало: Ведется набор
  • Вендор: Архитектура ПО
  • Код курса: ARC02
  • Город: Пермь, Москва,
  • Направление: Курсы для IT-специалистов
  • Академических часов: 24
  • Количество мест: 8
  • Очно: 59900 ₽
  • Дистанционно: 59900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

8 800 (600)-66-16

Владелец сайта:
АНО ДПО «Учебный центр «ШИФТ»
ИНН 5904355180
ОГРН 1175958039586
Юридический адрес: 614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32.
E-mail: info@eshift.ru