Альтернативой традиционной N-уровневой архитектуре является Архитектура разделения команд-запросов (CQRS), как обсуждалось Уди Даханом.
Как и все архитектурные решения, о которых вам следует подуматькогда использовать это, как обсуждено здесь
Лично я склонен видеть много "по архитектуре" в моих путешествиях программного обеспечения, которые действительно могут усложнить ситуацию и сделатьвещи намного сложнее поддерживать и, очевидно, стоят намного дороже.Вам действительно нужно сначала подумать о бизнес-проблеме, а не просто выбирать архитектуру.
Делайте вещи максимально простыми для достижения наилучших результатов и легкого рефакторинга.