Вы единственный, кто может принимать решения о том, как организовать ваше приложение. Конечно, вы можете следовать некоторым рекомендациям, таким как Java Naming Convention для пакетов, или даже попытаться разделить ваши пакеты для каждого уровня, подразумеваемого в вашем приложении; но в конце концов, вы должны выбрать для себя.
@ Решение Кевина Ди является правильным, вы могли бы использовать com.company.project.dao.interfaces (я бы не стал использовать interfaces
, поскольку это множественное число, и я избегайте множественного числа в именах пакетов, но опять-таки это зависит от вас) и com.company.project.dao.impl или вы можете использовать пакеты для разделения различных реализаций. Это как ты хочешь. И никто не должен говорить вам, как разделить ваше собственное приложение (кроме вашей команды).
Единственное (но все же факультативное) правило, которому я бы сказал вам следовать - это «иметь связные имена».
Это означает, что вы выбираете соглашение проекта, но придерживайтесь его, и, конечно, имена, которые вы выбираете для своих пакетов (но это также относится и к классам, переменным), должны представлять их содержимое (но я полагаю, что это здравый смысл).
С другой стороны, я не знаю контекста вашей работы, но вы действительно должны прочитать блог Адама Бина , вы увидите несколько статей о передовых практиках, касающихся DAO и «реализации по умолчанию», возможно это коснется вашего проекта.
Ресурсы: