S
SlivInfoKurs
Модератор
- Регистрация
- 31.03.2020
- Сообщения
- 149 287
- Реакции
- 366
- Онлайн
- 6дн 5ч 57м 22с
- #1
Голосов: 0
Описание:
Этот курс посвящен проектированию систем – как новых, чтобы избегать последующих доработок, так и старых, с целью разложить их на составные части и ускорить процесс создания.
Цель - освоение навыков декомпозиции монолитных систем, обоснованного подбора технологий и архитектурных решений, а также составления понятной документации.
Урок 1. Разработка требований и декомпозиция системы
На начальном этапе проектирования систем обычно отсутствуют четкие требования и время для их разработки. Изучение этого урока поможет вам понять, что даже при таких условиях возможно создать работающую систему.
Также мы будем бороться с двумя антипаттернами — разделением бизнес-логики по техническим этапам или сущностям (entity service).
Основные концепции и термины:
- Работа с требованиями
- Event Storming
- Моделирование данных
- Базовое сравнение микросервисов и монолитов
- Система, форма и функция системы
Разработчики часто руководствуются технологическими соображениями, не учитывая особенности бизнеса. Урок поможет исправить это: вы научитесь проектировать системы, исходя из стратегического анализа бизнеса, а также подробно рассмотрите монолитные и распределенные архитектурные стили.
Основные концепции и термины:
- Strategic DDD, subdomains
- Coupling & cohesion, temporal coupling, local & global complexity
- Quality attributes/non functional requirements/architecture characteristics
- Перевод бизнес-терминов в характеристики
- Циклы жизни систем
Урок 3. Внешние ограничения и документирование
Вводим внешние ограничения: комплаенс, географические ограничения, размер инвестиций, уровень квалификации разработчиков. На уроке определяем и приоритизируем их.
Вы научитесь не только принимать решения, но и описывать их так, чтобы сохранить контекст принятия решения. Это поможет быстрее адаптировать новых членов команды.
Также изучим дополнительные архитектурные стили: microkernel, pipeline, event-driven.
Основные концепции и термины:
- Ограничения системы
- Выбор типа БД в соответствии с характеристиками
- Выбор типа коммуникаций и брокера для событий
- Fitness function
Научимся рефакторить сложные системы: добавлять новые функциональности, выделять не подходящие по характеристикам, объединять сервисы, переписывать существующие сервисы и отказываться от антипаттернов, например, entity-services.
Основные концепции и термины:
- Добавление новой функциональности в отдельные сервисы
- Объединение сервисов
- Вынос функциональности из монолита в сервис
- Strangler Fig Application, Volatility Based Decomposition, Tactical Forking, Component-Based Decomposition
Урок 5. Итоги и следующие шаги
Цель: подводить итоги и обсуждать следующие шаги для продолжения работы. Понять, как описывать систему. Спланировать развитие своих навыков после курса и повторить понятия, изученные в ходе курса.
Основные концепции и термины:
- Весь материал, пройденный в курсе
- 4+1, C4, arc42, iso42010
Стоимость: 25000
Скрытая ссылка
Этот курс появится в скором времени на форуме SLIVINFOKURS.BIZ. Проверьте по поиску форума, возможно данный курс уже слит.