Соглашения об именовании пакетов для объектных моделей домена

StackOverflow https://stackoverflow.com/questions/96859

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

Например.

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.*

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top