Как уже ответили, идеального решения не существует. Все зависит от задачи, масштаба проекта и планов развития после старта.
Я бы посоветовал взглянуть на
Clean Architecture. В целом как концепт не плох. Хотя, по своему опыту, с некоторыми подходами поспорил бы.
Погуглив можно найти статьи и видео с деталями, т.к. автор давно и последовательно поддерживает проект.