Здравствуйте, уважаемые знатоки.
Подскажите пожалуйста по поводу разбиения приложения по вертикальным слоям. Вот, есть у нас разные "фичи" (не подберу русского эквивалента) приложения, и они определяют вертикальные слои.
Каждый вертикальный слой может иметь необходимое разбиение на горизонтальные (домен, приложение, инфраструктура), но иногда "фича" не требует отдельных доменных объектов, например CRUD, и его можно обработать прямо в слое приложения (в обработчике для соответствующей команды) используя ORM/Qeury builder.
Правильно ли все это, и если да, то нужно ли нам иметь отдельные "фичи" типа "CreateUser", "DeleteUser" и т.п.? Или же можно обозвать это прямо "UserCrud", или же вообще не нужно тут городить команды/обработчики а весь CRUD сделать прямо в контроллере фреймворка? Название "фич" я хотел бы использовать для структурирования файлов команд/хэндлеров/классов для доменных объектов. По идее архитектура это не что-то догматическое, но тогда скажите пожалуйста, как вы делаете это в своих проектах.
Заранее спасибо!