Получение кода страны - Сервис или Утилита? - PullRequest
0 голосов
/ 05 августа 2011

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

Как такой метод будет размещен в приложении?В качестве служебного метода он выглядел бы неуместно, так что вписался бы в службу приложений?

Ответы [ 2 ]

1 голос
/ 06 августа 2011

По моему опыту, страны не имеют внутренних идентификаторов.(Ваш домен может отличаться.) Таким образом, если он не существует в вашем домене, и вы занимаетесь проектированием, управляемым доменом, вам следует избегать искусственного понятия, такого как идентификатор страны.

Предположим, у вас есть таблица Address в базе данных.Вместо хранения CountryId, вместо этого сохраните CountryAbbreviation.Это естественный ключ.

Теперь, как вы убедитесь, что в вашем адресе был только действительный country_id?Если вы контролируете всех клиентов (например), то вы делаете что-то вроде этого:

<select>
  <option value="US">United States</option
  <option value="UK">United Kingdom</option
</select>

Выше вы можете видеть, что атрибут value - это сокращение страны.

Если отчеты не основаны на аббревиатурах стран, вам на самом деле не нужно быть уверенными в их непротиворечивости (если это не очень важно для вашего домена).

1 голос
/ 06 августа 2011

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

...