Воркшоп: Рефакторинг модели домена (часть 2)

RU / День 2 / 12:30 / Зал 4

По просьбе автора запись воркшопа не будет выложена. Вы можете ознакомиться со всеми материалами к воркшопу по этой ссылке: https://github.com/max-arshinov/DotNext-Moscow-2020

В контексте обсуждения DDD зачастую возникает короткий и, казалось бы, простой вопрос «окей, я прочитал синюю и/или красную книгу(и), как мне начать писать код в DDD-стиле»? В ходе воркшопа спикер продемонстрирует с чего он сам начинает и как продолжает работу с унаследованным кодом веб-приложений.

В качестве примера будет использоваться широко известная предметная область — электронная коммерция. Мы начнем с монолитного интернет-магазина: разделим его на ограниченные контексты, структурируем сценарии использования с помощью вертикальных слайсов, изменим состав полей и модификаторы доступа классов так, чтобы соблюдались инварианты. Затем внедрим обобщенную валидацию, контроль доступа запросов и обработку ошибок, объявим правила фильтрации в качестве спецификаций, организуем отправку нотификаций с помощью диспетчера событий и поговорим о перспективах C#9 применительно к моделированию домена.

Формат

Воркшоп пройдет в режиме live coding. Участники смогут клонировать репозиторий проекта и выполнять рефакторинг параллельно со спикером. Результат каждой итерации рефакторинга зафиксирован в отдельной ветке репозитория, поэтому все участники смогут перейти на следующий шаг просто переключив ветку, вне зависимости от того успели они завершить шаг или нет. После каждого шага разбираем вопросы участников. Не любите спешку? Не беда: весь процесс от начала до конца можно будет пройти в удобном темпе уже после завершения воркшопа.

Необходимое ПО

  • git;
  • Visual Studio 2019, Resharper или Rider;
  • Nodejs, npm;
  • .NET Core SDK 3.1.