Соглашения об именах пакетов для объектных моделей доменов - PullRequest
1 голос
/ 19 сентября 2008

Каковы некоторые хорошие соглашения об именах пакетов для предметных моделей, специфичных для домена. Например, скажем, у вас есть Person.java POJO, вы бы поместили его в mydomain.model или mydomain.entity или mydomain.om (объектная модель) пакет. Идея состоит в том, чтобы отделить объекты модели MVC от объектной модели домена. Наше приложение на основе MVC имеет пакет model , который содержит поведение, но использование этого пакета для хранения нашей объектной модели домена кажется неуместным и потенциально запутанным.

Ответы [ 4 ]

3 голосов
/ 19 июля 2010

Возможно, вы захотите организовать свои пакеты по вертикали, а не по горизонтали, чтобы разделить функциональность.

Например.

com.foobar.accounting.model.*
com.foobar.accounting.view.*

com.foobar.invoicing.model.*
com.foobar.invoicing.view.*

может быть лучше, чем

com.foobar.model.accounting.*
com.foobar.model.invoicing.*

com.foobar.view.accounting.*
com.foobar.view.invoicing.*
3 голосов
/ 19 сентября 2008

Я лично использую com.mycompany.domain, но это может быть не лучшим ответом.

1 голос
/ 19 сентября 2008

Название пакета, которое вы выбираете, не имеет значения. модель против домена против vo против foobar - это нормально, если ваша команда находится на одной странице. Я согласен, что этот пакет должен содержать только доменные объекты POJO без какой-либо существенной бизнес-логики.

0 голосов
/ 19 сентября 2008

Мало того, будьте осторожны в соглашении об именах ваших пространств имен. Я видел случаи, когда имена пространств имен дублировались в разных сборках. Разговор о путанице.

...