Старшой хуячит на английском реферат на тему программирования и DDD для школы. И зачитывает выписанное из книжки цитаты - никакой огромной модели хорошей для всех быть не может, проблема делится на автономные под-модели, т.к. в каждой под-модели одно и то же понятие может иметь разное значение, нужны чётко границы, чтобы сущности из моделей не перетекали друг в друга, санитарный контроль (sanity checks) между контекстами.
Никаких монолитов с централизованным управлением, небольшие, хорошо определённые автономные модули, код в которых сплочённый (cohesive) и обладает "общими ценностями" в рамках модели и прочее бла-бла-бла. (это я всё, само собой, упрощённо).
Задумайтесь - если заменить все эти программные сущности на человеческие сообщества, то текст этот будет зайклеймлён как расистский, ксенофобный, немультикультурный и т.д.
Если перевести принципы дизайна хорошо спроектированной системы на человеческие сообщества, то оказывается, что глобалистская идея мирового монолита выглядит херово с точки зрения грамотного дизайна, что мульти-культи это плохо, зато "сплочённость" и "общие ценности" в "модуле" это хорошо, автономность - хорошо, сегрегация и границы между разными сущностями - должны быть и прочее.
Ну не забавно ли? Пора, пора вводить прогрессивную агенду в программирование. Только монолиты, разношёрстный код перемешанный как угодно в рамках мульти-культи, никаких bounded contexts с чёткими границами и прочего.
Но если кодеру понятно, что такой способ программирования закончится очень хуёво, нынешней политэлитке это нихуя непонятно.
( ебать-колотить фашизм )Without enforcing a boundary around the model and defining it within a specific context, you end up with a mass of sprawling code.
.