Шаблоны проектирования приложений масштаба предприятия
Данный учебный курс по разработке корпоративных приложений содержит подробные описания основных архитектурных стилей, а также знакомит с их выбором на основе желаемых атрибутов качества. Рассматриваются конкретные типовые решения (шаблоны) для различных уровней абстракции системы, даются подробные сведения о сфере их использования и о некоторых нюансах реализации.
24 ак.ч.
Онлайн
ARC-004
Шаблоны проектирования приложений масштаба предприятия
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-004
Расписание и цены
20.03.2023 - 29.03.2023
45 000 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Шаблоны проектирования приложений масштаба предприятия
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-004
Расписание и цены
20.03.2023 - 29.03.2023
45 000 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

Данный учебный курс по разработке корпоративных приложений содержит подробные описания основных архитектурных стилей, как их выбрать на основе желаемых атрибутов качества. Рассматриваются конкретные типовые решения (шаблоны) для различных уровней абстракции системы, даются подробные сведения о сфере их использования и о некоторых нюансах реализации.

В курсе рассматриваются шаблоны различных уровней абстракции: модулей, приложений, системы – которые расширят кругозор слушателей, помогут понять принципы построения и коммуникации средних и больших систем. Рассмотренные подходы могут быть применены как для распределенных, так и монолитных решений.

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

Цели

После завершения обучения слушатели смогут:
  • Выбирать ведущий архитектурный стиль для компонентов системы;
  • Знать основные подходы к организации бизнес-логики и обосновывать свой выбор;
  • Планировать долговременную стратегию развития системы с возможными миграциями между стилями;
  • Понимать основные принципы и подходы обеспечения устойчивой работы распределенных систем;
  • Проектировать коммуникационные сообщения.

Целевая аудитория

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

Предварительная подготовка

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

Разбираемые темы

  • Введение (теория 1 - ч)

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

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

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

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

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

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

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

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

    • Подведение итогов, сессия вопросов и ответов.
  • Развернуть программу

Примечание

Материалы курса представлены на английском языке.
Раcписание курсов
Вид:
20.03.2023 - 29.03.2023
17:00-20:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:17:00-20:00
45 000 руб.
Записаться
Смотреть полное расписание
Тренеры
Гордиенков Андрей
Специалист в области разработки и архитектуры ПО
Андрей с 2007 г. занимается разработкой ПО в финансовой области с использованием стека технологий .Net. Имеет большой опыт построения middle-ware-систем, а также обладает технологической экспертизой решений. Основные задачи стоят в области интегрирования нескольких разрозненных систем в единую информационную систему с высоким уровнем отклика.

Более 5 лет Андрей активно ведет собственный блог (http://softblog.violet-tape.ru), где рассказывает о технологиях разработки в статьях и видеоуроках. Является постоянным участником дискуссионного клуба Microsoft «Клуб директоров разработки». Также выступал в качестве автора для журнала MSDeveloper.ru.

Андрей постоянно интересуется новыми технологиями, способными сократить рутинную ручную работу, максимально отделить рутинные процессы от человеческого влияния: Continuous Integration, Testing, Deployment.

В Luxoft Training Андрей проводил курсы для сотрудников таких компаний, как Aker Solutions, Ижмаш - Беспилотные системы, Ойл-Телеком, Лаборатория Касперского, Московская биржа - Технологии, Video International, Ай-Теко, UBS, CreditSuisse.
Отзывы (9)
При проведении тренинга были представлены практические материалы, что значительно облегчает рассмотрение курса и позволяет систематизировать знания. Инструктор находит время объяснить базовые и сопутствующие понятия, что помогает усвоить информацию. Было затронуто много смежных областей, необходимых для практического применения получаемых знаний.
Участник тренинга
Прослушанный курс существенно расширил представление о проектировании ПО и наметил пути для дальнейшего развития в этой области. Полученные знания весьма востребованы и актуальны в данный момент. Особенно хочется отметить компетентность Евгения Кривошеева и его готовность к дальнейшему общению и обратной связи за рамками курса. Спасибо!
Участник тренинга
На курсе были рассмотрены методы применения решений при выборе шаблона, детально разобраны все достоинства и недостатки, благодаря чему, наконец-то, увидел полную картину. Очень интрересная подача материала: объясняются не только шаблоны проектирования, но что, на мой взгяд, более важно, приводится обоснование выбора, все плюсы и минусы его использования.
Зайцев
Тренер рассказывает динамично, поэтому слушать его интересно, и внимание непрерывно сфокусировано именно на преподавателя, который отвечал на все вопросы. Примеры из реального опыта делают курс максимально прикладным, что позволяет сразу же применять полученные знания. Это именно то, чего я ожидал от обучения.
Николай
Тренинг понравился, самой важной частью для меня были основы, различие между функциональным и архитектурным дизайном, хотя перечисление шаблонов и примеры тоже были интересными и полезными. Радует, что я получил практический опыт архитектора решений, попробовал себя в проектировании облачных вычислений и теперь могу использовать это в работе.
Участник тренинга
Интересные темы, больше всего понравилось описание архитектурных стилей, введение в акторы, паттерны стабильности систем. Материалы хорошо структурированы, все паттерны собраны в одном месте, есть обзор их применения в приложениях. Большой плюс – возможность адаптирования программы в связи с пожеланиями.
Участник тренинга
Превосходный лектор, очень хорошо рассказывал о каждой теме, сильно чувствовался его большой архитектурный опыт, которым он также делился по мере прохождения различных тем. Понравился обзор современных языков программирования, платформ, фрэймворков, тенденций, архитектур и т. д. Спасибо, рекомендую!
Участник тренинга
Объемный курс, затрагивает теоретические и практические моменты, в нем множество новых тем для изучения, рассмотрение привычных паттернов с других сторон, альтернативы для них. Больше всего понравился раздел курса, связанный с UI и то, что участники делились своим практическим опытом.
Участник тренинга
Получила кучу информации новой или давно забытой. По сути вопросы все не сложные были, не выходили за рамки собеседования на джависта, которые я благополучно забыла – а значит не понимала до конца. Тренер изложил скучные, непонятные вещи под другим углом - и как-то все сложилось в общую картину и захотелось чего-то новое узнать.
Участник тренинга
Показать все отзывы
Связанные курсы
Ключевые практики архитектора ПО
Курс является введением в системную архитектуру (архитектуру ПО) и знакомит с ключевыми практиками: выявление требований, проектирование, документирование, анализ и оценка архитектуры, а также даёт представление о месте архитектуры в жизненном цикле разработки ПО.
Онлайн:
06.02.2023 - 13.02.2023
Онлайн:
06.03.2023 - 15.03.2023
Онлайн:
10.04.2023 - 21.04.2023
Интеграция в корпоративных системах
Современные компании используют десятки и сотни программных систем, которые обращаются друг к другу и обмениваются данными. Организация взаимодействия систем и приложений называется интеграцией. Выработано множество способов интеграции – обмен файлами, использование общих баз данных, удаленный вызов процедур, обращение к сервисным интерфейсам, обмен сообщениями, использование интеграционных шин и не только. На тренинге мы рассмотрим спектр возможных проблем и решений, их области применимости, сильные и слабые стороны. Также разберем состав требований к проекту интеграции. Немало внимания уделяется самому составу сообщения, как его форма влияет на то, как будет проходить интеграция и как это влияет на обеспечение надежности участников интеграции. Основной акцент сделан на понимании требований к интеграции связанных шаблонов и последствиям решений. Современные системы предлагают много схожего функционала, однако маркетинг может вводить в заблуждение своими буклетами, поэтому надо понимать основы, на которых построены предлагаемые вендорами интеграционные решения.
Онлайн:
24.03.2023 - 31.03.2023
Шаблоны проектирования (GoF). Редакция для C++
В курсе рассматриваются GoF-паттерны – типовые решения, охватывающие широкий спектр решения проблем: от иерархических структур до динамического изменения поведения объекта в зависимости от его состояния.
Шаблоны проектирования (GoF). Редакция для Java
Шаблоны проектирования представляют собой совокупность некоего опыта, пригодную для повторного использования. Паттерны находят применение во всех областях деятельности, поскольку дают возможность использовать сработавшие ранее решения. Знание паттернов проектирования позволяет не только быстрее реализовать ваши решения и получать качественный исходный код, но и эффективнее общаться с коллегами, которые уже освоили данную технологию. В курсе рассматривается 23 основных паттерна, которые описаны в книге “Design Patterns: Elements of Reusable Object-Oriented Software" («Шаблоны проектирования: элементы повторно используемого объектно-ориентированного программного обеспечения»), написанной четырьмя авторами («бандой четырех» - Gang of Four, GoF) – Erich Gamma, Richard Helm, Ralph Johnson и John Vlissides.
Онлайн:
23.03.2023 - 30.03.2023
Шаблоны проектирования GoF. Редакция для .NET
В курсе рассматриваются базовые паттерны, изложенные в книге "Design Patterns: Elements of Reusable Object-Oriented Software" (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four, GoF)). Практические задания проводятся на .NET. После обучения слушатели смогут разрабатывать приложения на базе паттернов, понимать и использовать паттерны уровня приложений.
Онлайн:
16.05.2023 - 25.05.2023
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.