Здравствуйте, Буравчик, Вы писали:
Б>Что из этого бьется по фичам, а что остается слоями?
Судя по отсутствию обсуждения все делят пакеты по слоям, по старинке
Мне кажется, по фичам стоит группировать классы domain model (data-классы), domain services, а также классы, работающие с инфраструктурой, специфичные для этой фичи (например, DAO для конкретной фичи или внешний сервис, нужный только этой фиче).
Общие инфраструктурные классы — работа с внешними сервисами, или с базой данных в целом, нужно группировать отдельно в отдельный shared-пакет. Т.к. они могут использоваться несколькими фичами.
Классы для интерфейса к программе (API, CLI, GUI) нет смысла группировать по фичам, т.к. их структура может совсем не соответствовать структуре пакетов фич. Хотя частенько пересечения бывают, и довольно большие