Организованное программирование

#77 Чистая архитектура и Domain Driven Design на практике | Евгений Лукьянов

Организованное программирование

Show Notes

Мы продолжаем разбираться в Domain-Driven Design — на этот раз прямо на уровне кода. Несколько недель назад мы с Евгением Лукьяновым делали EventStorming для идеи сервиса аналитики Telegram-каналов: системы, которая парсит каналы, анализирует посты, считает метрики и помогает авторам понимать, о чём писать и какие темы заходят. Евгений — технический директор компании Satory и автор образовательного проекта StreamConcat. Он много лет работает с DDD и чистой архитектурой и строит на этих принципах коммерческие системы. Поэтому вместо абстрактных рассуждений мы открыли редактор и начали разбирать, как события, агрегаты и инварианты из EventStorming превращаются в Kotlin-код на Spring Boot. Полезные ссылки: https://t.me/stringconcat https://www.youtube.com/@UCJ2Tig1kywPjqjNh0mb54Ug Подписывайтесь на канал «Организованное программирование» в 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\

#DDD #EventStorming #архитектура #программирование #разработкаПО #организованноепрограммирование #кириллмокевнин Чистая архитектура и Domain Driven Design на практике | Евгений Лукьянов №77

(00:00) - - Введение. Можно ли превратить DDD из теории в реальный код?

(02:45) - - Идея стартапа: AI-сервис для анализа Telegram-каналов и поиска тем для постов

(08:51) - - Главные сущности проекта: канал, пост и тематика

(17:10) - - Демонстрация логики агрегатов

(27:45) - - Базовые типы: ID, строковые ограничения и value-объекты

(38:15) - - Бизнес-ошибки против исключительных ситуаций

(46:26) - - Live-валидация на фронтенде и UX

(59:22) - - Когда безопасность требует дополнительных проверок

(01:09:57) - - Зачем использовать Mock в тестах

(01:21:19) - - Проблема уникальности в нагруженных системах

(01:28:08) - - Когда DDD действительно спасает архитектуру

(01:37:37) - - Vibe coding и парное программирование с AI

(01:51:33) - - Транзакции и работа с Postgres

(02:01:56) - - Заключение. DDD vs классическая архитектура

★ Support this podcast ★

More from Организованное программирование

Oct 18, 2026

🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube

Oct 11, 2026

🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube

Oct 4, 2026

🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube🔹 Ускоряем разработку ПО с помощью AI: https://praxor.ru/?utm_source=youtube 🔹 Присоединяйся к курсам по AI в Хекслет: https://ru.hexlet.io/courses_artificial-intelligence?utm_source=youtube

Sep 27, 2026

🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube🔹 Ускоряем разработку ПО с помощью AI: https://praxor.ru/?utm_source=youtube 🔹 Присоединяйся к курсам по AI в Хекслет: https://ru.hexlet.io/courses_artificial-intelligence?utm_source=youtube

Sep 20, 2026

🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube

See all episodes →