Недавно я наткнулся на этот javalobby пост http://java.dzone.com/articles/how-changing-java-package на упаковку java-кода по функции.
Мне нравится идея, но у меня мало вопросов по этому подходу. Я задал свой вопрос, но не получил удовлетворительного ответа. Я надеюсь, что кто-то из StackOverflow может прояснить мои вопросы.
Мне нравится идея пакета по функции, которая значительно сокращает время перемещения по пакетам во время кодирования, и все связанные вещи будут находиться в одном месте (пакет). Но как насчет взаимодействия между службами в разных пакетах?
Предположим, что мы создаем приложение для блога, и мы помещаем все связанные с пользователем операции (контроллеры/службы/репозитории) в пакет com.mycompany.myblog.users
. И все операции, связанные с блогами (контроллеры/службы/репозитории) в пакете com.mycompany.myblog.posts
.
Теперь я хочу показать профиль пользователя вместе со всеми сообщениями, которые он опубликовал. Должен ли я называть myblog.posts.PostsService.getPostsByUser(userId)
из myblog.users.UserController.showUserProfile()
?
Как насчет связи между пакетами?
Также, где бы я ни читал о пакете по признаку, каждый говорит, что это хорошая практика. Тогда почему многие авторы книг и даже рамки поощряют группировать по слоям? Просто интересно узнать: -)