SP
А дёрганье sql в контроллерах не очень соответствует этой модели в том плане, что содержит язык который понимают последние два, но абсолютно не понимает (и не должен) первый
- не всякий под-домен достоен того что бы его вылизывать. Потому и важно выделять где core, где суппортинг а где просто купите from the shelf херню и не парьтесь
- важен единый язык и уменьшение стоимости перевода между требованиями и кодом. Термины и их значения. При этом для достаточно простых поддоменов SQL может быть неплохим способом выражать мысли
- важно общее понимание модели. бизнес не полезет код читать. Но код должен быть написан так что бы ограничения модели можно было выразить словами нормально.
- На более высоких уровнях абстракции тебя больше волновать будут границы контекстов/под доменов и как это все мэпится на код. Где какие зависимости, всякие контекст мэппинги и т.д. А то что в каком-то поддомене просто тупой круд с sql из контроллеров - почему нет. Рядом может быть колаборативный домен где у тебя будут агрегаты с сагами.