Сравнение книг “Learning Domain-Driven Design” и “What is DDD”
Пару лет назад я прочитал отчет Владика Хононова с названием “What is DDD”, а год назад написал на него краткое саммари. Недавно вышла полноценная книга “Learning Domain-Driven Design” Владика, которая основана на этом отчете. В этой небольшой статье я хочу сравнить содержимое этих книг и объяснить почему стоит потратить время на чтение “Learning DDD”, даже если вы уже узнали ответ на вопрос “What is DDD” из одноименного отчета Владика. А также анонсирую обсуждения нашего клуба любителей архитектуры “Code of Architecture”, которые посвящены этой книге:)
Update: Я сделал обзор книги Влада в четырех частях
- Первая часть включает в себя обзор первых трех частей книги: Strategic Design, Tactical Design и Applying DDD in Practice
- Вторая часть содержит обзор взаимосвязь с
microservices
- Третья часть рассказывает про
event-driven architecture
- А в последней части речь идет про
data mesh

Проще всего сравнить две версии книги взглянув на аналог git diff
по содержанию:) Для этого я подготовил следующую картинку с таким сравнением.

Если посмотреть на эту картину, то видно, что
- Часть про “Strategic Design” почти не претерпела изменений по структуре
- Часть “Tactical Design” была значительно расширена и две из четырех изначальных глав были расширены до четырех
- В часть “Applying DDD in Practice” добавилась глава “Design Heuristics”
- Появилась целая новая часть про сравнение DDD с другими методологиями и паттернами — эта часть меня персонально интересует больше всего
Это конечно все хорошо, но возникает вопрос, а зачем я решил написать про книгу “Learning Domain-Driven Design” сегодня? И ответ на этот вопрос такой — наш клуб любителей архитектуры “Code of Architecture” со следующей недели, а конкретно с 7 апреля, начнет публичные обсуждения этой книги. В итоге, обсуждений мы глубоко погрузимся в Domain-Driven Design и заодно поймем насколько эта книга поменялась по сравнению с крутым, но достаточно кратким отчетом. Чтобы быть в курсе нашего расписания можно подписаться на наш телеграмм-канал https://t.me/its_reading_club.
P.S.
Интересно, что эта книга победила в голосовании номинантов из списка
- “Software Architecture: The Hard Parts” , Ford N., Richards M., Sadalage P., Dehghani Zh. — принятие архитектурных решений в распределенных системах.
- “Learning Domain-Driven Design”, Khononov V.— попытка сделать простую и понятную книгу по DDD. По предыдущей версии книги я уже делал обзор
- “Database Internals”, Petrov A. — подробности устройства современных баз данных. Здесь я сделал обзор в 2х частях: про Storage Engines и про Distributed Systems
- “Technology Strategy Patterns”, Hewitt E. — расширение мышления руководителей разработки и архитекторов с фокусом на стратегию. Здесь тоже был обзор
- “Building Evolutionary Architectures”, Ford N., Parsons R., Kua P. — изменение архитектуры с сохранением важных характеристик. Про свое понимание эволюционной архитектуры я рассказывал на конференции и написал расшифровку выступления
Так что стоит ожидать, что когда мы закончим с Learning DDD, то дальше мы дойдем до обсуждения и других книг из этого списка.
Stay tuned …