Передача DTOs в доменной модели - PullRequest
2 голосов
/ 15 июля 2010

Я вижу, что типы DTO создаются и передаются между типами в модели предметной области.Это хорошая практика?

Я всегда думал, что DTO должны использоваться главным образом на границах контекста (т. Е. На краю графа объектов), чтобы отделить реализации контекста (например, на границе домена / пользовательского интерфейса).

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

Ваш вопрос довольно субъективен, но это нормально. Как и в случае с большинством «жестких и быстрых правил», действительно нет жестких и быстрых правил. Есть только рекомендации. Всегда есть исключение или какой-то особый случай, когда лучшим способом действий является что-то сделать против лучших практик (например, использование оператора goto для мгновенного выхода из нескольких вложенных циклов).

Как говорится, нет, передача типов DTO в вашей доменной модели не является хорошей практикой. DTO обозначает данные передача объект, передача обычно означает перенос через некоторую границу. Если вы находитесь в модели вашего домена, вам не следует переходить на типы DTO, а затем возвращаться к типам доменов.

1 голос
/ 15 июля 2010

Создание иерархии DTO, которая параллельна вашей доменной модели, просто ради чистоты наслоения, кажется мне антипаттерном. Я бы спорил против этого каждый раз.

EJB 1.0 поощрял использование DTO таким способом, потому что передача объектов EJB, которые были болтливыми, была неэффективна Люди будут загружать данные в DTO, чтобы избежать сетевого трафика. Я думаю, что сейчас это не нужно.

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