В многоуровневой архитектуре у вас есть уровень представления, логический уровень и уровень данных.
До сих пор я группировал классы в пакеты доменов, сервисов и дао. Это представляет модель с объектами POJO / JPA, бизнес-логикой и уровнем доступа к данным.
Я предполагаю, что домен и сервисы могут быть сгруппированы для формирования логического уровня, но это оставляет вопросительный знак на уровне представления или пользовательского интерфейса. Существуют ли какие-либо соглашения, даже неписанные, с точки зрения группировки классов в пакеты по своей природе в этом слое? Или это остается на усмотрение тех, кто руководит проектом?
В качестве дополнительного указания я сейчас экспериментирую с веб-приложениями и использую пакет "сервлет" для группировки сервлетов и пакет "веб" для ResponseHeaderFilters, ServletContextListeners и служебных классов. Мне было бы интересно услышать, как обстоят дела с настольным приложением.