Мы продолжаем разбираться в Domain-Driven Design — на этот раз прямо на уровне кода. Несколько недель назад мы с Евгением Лукьяновым делали EventStorming для идеи сервиса аналитики Telegram-каналов: системы, которая парсит каналы, анализирует посты, считает метрики и помогает авторам понимать, о чём писать и какие темы заходят.
Евгений — технический директор компании Satory и автор образовательного проекта StreamConcat. Он много лет работает с DDD и чистой архитектурой и строит на этих принципах коммерческие системы. Поэтому вместо абстрактных рассуждений мы открыли редактор и начали разбирать, как события, агрегаты и инварианты из EventStorming превращаются в Kotlin-код на Spring Boot.
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239248
🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot
В этом выпуске: — как из стикеров EventStorming получается структура домена — почему агрегаты и доменные события часто реализуют без ORM — как выглядит минимальный каркас DDD-приложения: entity, aggregate root, value object — зачем хранить события внутри сущностей и как потом их «вынимать» — как устроены use case-слои и почему бизнес-логика должна жить внутри домена — где заканчивается доменная модель и начинается инфраструктура — как связывать агрегаты через события и слушатели — транзакции, outbox-паттерн и обработка доменных событий — почему вокруг DDD так много споров и где инженеры видят оverengineering\
Podden och tillhörande omslagsbild på den här sidan tillhör
Кирилл Мокевнин. Innehållet i podden är skapat av Кирилл Мокевнин och inte av,
eller tillsammans med, Poddtoppen.