При написании заявки по стандарту для каждой таблицы в базе данных у меня есть следующие свойства: CreatedOn
, CreatedBy
, ModifiedOn
, ModifiedBy
, Archived
.DDD - CreatedBy/CreatedOn в доменной модели?
Но, пытаясь следовать DDD, я задаюсь вопросом, действительно ли эти свойства являются частью домена и должны быть включены в объекты домена. Если бы я исключил эти свойства «метаданных» из домена, но все еще хотел их в своей базе данных, тогда мне нужно было бы реализовать какой-то слой DTO, если бы я собирался использовать ORM.
Таким образом, модель домена отображается в DTO, CreatedOn
, ModifiedOn
и т. Д. Задается, а затем помещается в базу данных.
Поэтому я полагаю, что мои вопросы:
- ли я просто жить с этими свойствами, как часть моей модели домена?
- Удалять ли я их, но у вас есть головная боль, связанная с необходимостью сопоставить DTO?
- Есть ли альтернатива, которая могла бы решить обе проблемы, такие как реализация какой-либо формы журнала аудита?
Итак, другими словами, в крупномасштабной системе, которая, возможно, потребуется оптимизировать на каком-то этапе, слой DTO будет не поддаваться проверке? – David
@ Давид точно. Я немного расширил свой ответ. –