Convenções de nomenclatura de pacotes para modelos de objetos de domínio

Quais são algumas boas convenções de nomenclatura de pacotes para modelos de objetos específicos de domínio. Por exemplo, digamos que você tenha um POJO Person.java , poderia colocá-lo em um mydomain.model ou mydomain.entity ou mydomain.om (modelo de objeto). A ideia é separar os objetos do modelo MVC do modelo de objeto do domínio. Nosso aplicativo baseado em MVC tem um pacote modelo que contém comportamento, mas usar esse pacote para conter nosso modelo de objeto de domínio parece inadequado e potencialmente confuso.

0

4 Respostas

Eu uso "com.minhaempresa.domínio" pessoalmente, mas essa pode não ser a melhor resposta.

0
adicionado

Não apenas isso, tenha cuidado na convenção de nomenclatura de seus namespaces. Eu vi casos em que os nomes de espaço de nomes eram duplicados em diferentes assemblies. Fale sobre confusão.

0
adicionado

O nome do pacote escolhido é irrelevante. modelo vs. domínio vs. vo vs foobar está tudo bem, contanto que sua equipe esteja na mesma página. Concordo que este pacote deve conter apenas objetos de domínio POJO sem lógica de negócios significativa.

0
adicionado

Você pode querer organizar seus pacotes verticalmente, em vez de horizontalmente, para separar a funcionalidade.

Por exemplo.

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

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

pode ser melhor que

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

com.foobar.view.accounting.*
com.foobar.view.invoicing.*
0
adicionado