есть простой способ разобраться. Задай вопрос что ты хочешь от структуры. Например вот вопросы которые у меня к структуре возникают:
- куда положить новую штуку? Вот делаю я новую фичу и мне надо куда-то файлики положить? куда? почему?
- как разобраться что есть в проекте, мол я новенький и открыв структуру проекта вижу application/domain/infrastructure/etc - круто, не оч помогает
- как обеспечить границы зон ответственности. не "слои" а именно что когда я работаю с комментами мне в целом не оч надо трогать посты или там темы. Мол представь что "разные люди за разные фичи отвечают".
- как обеспечить учет зависимостей между модулями. Как трекать кто от кого зависит. Мне надо трекать что инфраструктура зависит от домена или мне надо трекать какие фичи от каких зависят?
Не такой уж и простой :)
Идея такая: есть например Посты, Задачи, новости. У всех должны быть комменты.
Вот я сделал модуль комментариев, где есть тема (темой может быть что угодно, например новости запрашивают модуль комментов - создать тему), автор, и комментарии. И все это в одном месте. А вот внутри уже пытаюсь как-то понятно и удобно распихать всё.
Функционально мне кажется я правильно выделил, а дальше не очень понятно... Хотя наверное это не сильно важно как внутри