Ответы:
Вы можете следовать стандартному макету проекта maven . Вам не обязательно использовать maven, но это упростит переход в будущем (при необходимости). Кроме того, другие разработчики будут привыкать к этой схеме, поскольку многие проекты с открытым исходным кодом построены таким образом,
Вы можете проверить несколько существующих ресурсов:
Как бы то ни было, мои личные рекомендации, которые я обычно использую, следующие:
Еще пара моментов:
Я бы предложил создавать структуру вашего пакета по функциям, а не по уровню реализации. Хорошая запись об этом - практика Java: пакет за функцией, а не слой
Обычно мне нравится следующее:
Это можно считать нетрадиционным, но я считаю, что это очень хороший способ организовать вещи.