Часто требуется, чтобы доменный объект отображался различными способами в пользовательском интерфейсе; списки, результаты поиска, просмотр и редактирование страниц, а также в верхних и нижних колонтитулах. Как правило, у вас есть несколько разных «представлений» объекта домена, каждое с разными отображаемыми полями.
В большинстве случаев советуют использовать DTO для получения данных, когда вам требуется подмножество или надмножество. В поддержании DTO много работы. Это плохой подход, чтобы просто заполнить свойства объекта домена, необходимые для каждого сценария. Например, вы можете использовать профиль, чтобы сказать, какие свойства должны быть включены, например:
service.GetDomainObjects (int listID, Profile.ListProfile);
service.GetDomainObjects (строка searchParam, Profile.SearchProfile);