Доменный Управляемый Дизайн, SOC и идентификация объекта

Благодаря Марселю Преде, они сузили его для меня. Оказывается, код был в порядке (кроме одной синтаксической ошибки), но это был заблокированный порт от моего поставщика услуг.

6
задан Erik Forbes 5 February 2009 в 23:42
поделиться

3 ответа

Без поля Id в Вашем объекте Вы не можете отобразить его на строку базы данных. Поэтому это идентификационное поле даже при том, что это не имеет никакого отношения к Вашим объектам, должно просочиться в Вашу модель предметной области.

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

Я думаю, что разделение проблем главным образом управляется ограниченным контекстом. Например, Ваша Личность, таблица PersonView и Person все кажутся связыванием с контекстом обработки транзакций. В таком контексте я, даже не сделал бы не имеют PersonView, и таблица человека была бы абстрагирована далеко.

С другой стороны, если бы Вы находитесь в контексте создания отчетов, PersonView был бы более полезным.

Я думаю, что контекст намного более важен, чем какая-либо схема разделения на уровни.

Что касается отсутствия естественного ключа в Вашем объекте человека, это могло означать, что Человек не является действительно объектом. Для exemple, в любом реальном применении, всегда существует число, связанное с человеком: у сотрудника есть число сотрудника, клиент как номер аккаунта, и т.д. Этот бизнес-идентификатор является определенно частью домена.

2
ответ дан 17 December 2019 в 07:09
поделиться

Я думаю, имея поле "ID" на объектах, концессия много (большинство?) люди заканчивают тем, что делали, и я не чувствовал бы себя виновным в том, что сделал так.

Как Вы говорите, даже когда Вы не имеете дело с базой данных, Вам все еще нужно некоторое понятие идентификационных данных. Можно попытаться придумать некоторые "естественные" идентификационные данные для каждого объекта (поле как имя или комбинация нескольких полей), но это не всегда возможно. Даже когда это, имение поля ID часто действует как удобная краткая форма для того, чтобы сказать "объект, имя которого X, и чья дата рождения является Y, и чей SSN является Z".

В конце, в то время как возможно менее "чистый", имея поле ID, вероятно, упростит вещи много.

1
ответ дан 17 December 2019 в 07:09
поделиться

Запрос отправки является определенно лучшим примером!

Как пользователи найдут запрос отправки? В зависимости от ответа Вам, возможно, понадобился бы идентификатор, который пользователи могли бы помнить, например, 20091012-A.

Отправка может запросить, чтобы идентификатор когда-нибудь изменялся? Если не, используйте ключ дб для идентификационных данных.

Необходимо ли будет передать запросы отправки от одной системы до другого? Если да, не используйте ключ дб для идентификационных данных.

Безотносительно ключа Вы используете Вас, должен будет сделать это доступным в модели презентации так, чтобы можно было создать ссылки на действия с конкретным запросом отправки.

1
ответ дан 17 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: