Данный учебный курс по разработке корпоративных приложений содержит подробные описания основных архитектурных стилей, а также рекомендации, как их выбрать на основе желаемых атрибутов качества. Рассматриваются конкретные типовые решения (шаблоны) для различных уровней абстракции системы, даются подробные сведения о сфере их использования и о некоторых нюансах реализации.
В курсе рассматриваются шаблоны различных уровней абстракции: модулей, приложений, системы – которые расширят ваш кругозор, помогут понять принципы построения и коммуникации средних и больших систем. Рассмотренные подходы могут быть применены как для распределенных, так и монолитных решений.
После освоения курса вы:
- Разделять корпоративные приложения на слои
- Знать основные подходы к организации бизнес-логики
- Детально знать механизм объектно-реляционного отображения
- Организовывать представление данных в Web с использованием системы MCV (модель-представление-контроллер)
- Понимать принцип параллельной обработки заданий, охватывающих несколько системных транзакций
- Проектировать интерфейс распределённого доступа к объектам
Прохождение курса DEV-001 - Шаблоны проектирования.
Знание принципов объектно-ориентированного программирования.
Опыт работы с объектно-ориентированными языками от 1 года.
Базовое знание UML (курс REQ-001)
Задачи курса, знакомство.
Введение в архитектуру, ее задачи и артефакты.
Основные принципы построения архитектуры и связь с бизнес-целями.
Каталоги шаблонов проектирования.
Архитектурные стили и шаблоны, в чем разница и каким целям служат.
Рассмотрение основных архитектурных стилей (8 базовых + вариации). Предпосылки становления, особенности работы, влияние бизнес-целей на выбор и обоснование выбора. Рассматриваются плюсы и минусы реализации, возможности миграции с одного стиля на другой в зависимости от бизнес-целей и роста потребностей бизнеса.
Базовые шаблоны для организации внутренней логики модулей\подсистем. Рассмотренные шаблоны позволяют поднять уровень абстракции описания внутренней логики модулей системы. Инкапсуляция логики правильными способами позволит уменьшить вероятность ошибок и позволит более полно раскрыть потенциал объектно-ориентированного подхода разработки.
Среди рассмотренных шаблонов будут такие как: Measurement, Specification, NullObject, Range и другие.
Рассматриваются 3 базовых подхода к организации доменной логики, а также принципы использования в зависимости от роли модуля в системе.
Обсуждаются принципиальные шаблоны реализации сложной доменной логики. Введение в стратегический и тактический дизайн доменной логики, работа с агрегатами, и как обозначить первичные границы ограниченных контекстов.
Среди рассмотренных шаблонов будут такие как: Aggregate, Actor Model, Active Record, Rich/Anemic подходы к дизайну доменной логики.
Принципы организации доступа к источникам данных, организация маппинга данных в зависимости от контекста, как учитывать миграцию данных от версии к версии.
Как организовать согласованное сохранение разнотипных данных с помощью шаблона UnitOfWork. Особенности реализации для реляционных баз данных и не только. Возможность применения для сложных доменных процессов.
Особенности сохранения сложных иерархий в хранилище данных, плюсы и минусы различных вариантов структур.
Работа с ключами. Рассматриваются стратегии создания ключей, форматы, плюсы и минусы подходов в зависимости от контекста окружения.
В модуле рассматриваются основные свойства кеширования и пулинга ресурсов. Когда и что должно использоваться, плюсы и минусы подходов. Обсуждаются стратегии кеширования, особенности реализации для локального использования и для распределенных систем.
Обсуждение основных классов коммуникационных сообщений (3), особенности применения, правила составления. Освещаются сложности коммуникации и зависимостей сервисов, при неправильном использовании классов сообщений.
Рассматриваются особенности распределенных транзакций, использование шаблона Saga, сложности и назначение шаблона. Как обеспечить безопасную рассылку сообщений в результате выполнения сложной транзакции.
Подведение итогов, сессия вопросов и ответов.
49 500 ₽
44 550 ₽ — для физ. лиц
Ключевые практики архитектора ПО
Практический курс по основам архитектуры ПО: выявление требований, проектирование и документирование для успешных проектов.
62 900 ₽
Интеграция в корпоративных системах
В ходе курса вы изучите методы и паттерны интеграции систем, учитывающие бизнес-требования и технические ограничения.
51 500 ₽
Шаблоны проектирования (GoF). Редакция для Java
Шаблоны проектирования представляют собой совокупность некоего опыта, пригодную для повторного использования. Паттерны находят применение во всех областях деятельности, поскольку дают возможность использовать сработавшие ранее решения. Знание паттернов проектирования позволяет не только быстрее реализовать ваши решения и получать качественный исходный код, но и эффективнее общаться с коллегами, которые уже освоили данную технологию. В курсе рассматривается 23 основных паттерна, которые описаны в книге “Design Patterns: Elements of Reusable Object-Oriented Software" («Шаблоны проектирования: элементы повторно используемого объектно-ориентированного программного обеспечения»), написанной четырьмя авторами («бандой четырех» - Gang of Four, GoF) – Erich Gamma, Richard Helm, Ralph Johnson и John Vlissides.
32 900 ₽