Где бы вы разместили код проверки для объекта домена? Внутри самого класса в таком методе, как Validate () или вне контекста, в котором используется объект? Или оба?

0
sduplooy 12 Янв 2010 в 09:35

2 ответа

Лучший ответ

Если при валидации нужно обращаться только к объектам внутри сущности, тогда поместите валидацию внутри сущности. Для сущности "Лицо"

  • Проверка того, что возраст> 0 или имя не пустое, должна быть внутри объекта в методе validate ()
  • Проверка того, покрывается ли курс определенной политикой (из списка всех политик), будет включать запрос / чтение других объектов курса / политики, которые могут не иметь отношения к самой сущности и должны выполняться контекстом / службой / валидатором вне организация
0
Kannan Ekanath 17 Мар 2010 в 16:02

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

0
AshtonKJ 12 Янв 2010 в 09:40