Действительно ли мои объекты Service принадлежат пакету сущностей? - PullRequest
0 голосов
/ 20 января 2011

Я заметил, где я работаю, что у нас есть тенденция помещать наши объекты уровня обслуживания в наш пакет сущностей. Это заставило меня задуматься, не ошиблась ли моя концепция класса сущностей. Хотя классы сущностей представляют таблицу в реляционной базе данных, я прав? Если да, то где бы вы порекомендовали поместить эти объекты, возможно, в пакет объектов Service?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Я логически разделяю их, основываясь на их заботе.Смысл наличия уровня доступа к данным, уровня обслуживания и т. Д. Заключается в разделении интересов.Я склонен идти немного за борт, но я делаю что-то похожее на:

app
--model
----PersonEntity.java (JPA annotated entity)
--service
----PersonService.java (interface)
--web
----PersonController.java (SpringMVC Controller, Struts action, etc.)
--internal
----PersonServiceImpl.java (Contains JPA EntityManager, e.g.)

То есть, если вы намерены оставить все в одном проекте.Я бы, вероятно, разделил код сервиса и модели в свой собственный проект, в случае (например) вы могли бы написать отдельный веб-сервис и повторно использовать ту же модель домена.

К вашему сведению, я не фанатDAO, но они довольно распространены.Я не уверен, куда бы я положил дао, но я бы, вероятно, следовал тому же соглашению.Дополнительный пакет - это просто еще одна папка, она не важна и имеет смысл максимально упорядочить ваш код.

1 голос
/ 20 января 2011

Где я нахожусь, мы определяем объект сущности в пакете в модуле. Тогда интерфейс службы будет в том же пакете, в том же модуле, но реализация будет в том же пакете в другом модуле. Было бы неплохо сохранить весь код, связанный с EntityX, в одном пакете; это включает определения и реализации Entity, Dao и Service.

...