TGViewer
Записки системного архитектора Записки системного архитектора @sysarchthoughts · 269 subscribers
Post #63 319
К чему был предыдущий 👆 слегка спонтанный спич.
А к тому, что DDD, подобно DSL способствует выделению понятий, терминов и прочих элементов единого языка, на котором описывается как логика предметной области, так и логика работы приложения. И если модель, используемая в программной части "изоморфна" понятиям предметной области, то описание алгоритмов и действий предметной области происходит достаточно легко и просто.
В DDD сложность, как и в моем примере выше, фактически смещается с задачи программирования собственно алгоритмов и бизнес-логики в задачу создания адекватной модели реального мира предметной области.

ИМХО, важно понимать, что задача моделирования языка и задача реализации содержательной логики приложения - это разные задачи. И если в "классической" реализации основная сложность находится в реализации логики, то в случае DDD сложность смещается в сторону модели, а логика программируется и модифицируется легко и просто.
Если не разделить в голове эти две задачи, то читать книги и статьи по DDD довольно сложно, так как не понятно даже зачем все эти сложности и заморочи с контекстами, агрегатами и т.п. А они как раз таки помогают сделать адекватную модель, но не само приложение. С другой стороны, если есть адекватная рабочая модель, которая терминологически соответствует бизнесу, с гарантией соблюдения инвариантов - то сделать на ней приложение уже никакой проблемы не составляет, нужно лишь почти дословно переписать нужные утверждения из учебников, ТЗ или из протокола встречи с заказчиком.

👿Но обратная сторона DDD-подхода заключается в том, что если ты накосячил в модели, и осознал это слишком поздно, то гореть тебе в аду может потребоваться многое переписывать и переделывать, как моделей, так и алгоритмических составляющих. В этом случае ограниченные контексты играют роль переборок безопасности на подводной лодке. Если уж где-то модель "протекла", то эта ошибка не должна протекать в соседние контексты.
  • 🔥 4
  • 👍 1
More from @sysarchthoughts
  1. Aug 4, 2026Мне жена как-то сказала, что только в зрелом возрасте осознала трагедию сказки о рыбаке и…
  2. Jul 2, 2026Я не давлю. Я пытаюсь опереться.
  3. Apr 2, 2026Пригласили меня тут в жюри школьного проектного конкурса, и вот что хочу сказать: мало кто…
  4. Mar 22, 2026Как технические границы делают все бизнес-критичным? Ключевой вопрос, которому посвящена э…
  5. Mar 22, 2026Неуловимо напоминает "основной закон органической химии". Если смешать бочку мёда и бочку…
  6. Mar 10, 2026(продолжение рассуждений про больницу) Что мне тут понравилось, что беру на заметку. 1. Че…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →