Каков «лучший» подход для запроса / сохранения с сервера: DTO или Wcf Data Services? - PullRequest
2 голосов
/ 21 апреля 2010

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

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

Ответы [ 2 ]

4 голосов
/ 21 апреля 2010

Зависит от вашего определения «лучше» - означает ли это, что это означает более быстрый вывод на рынок или более простое в обслуживании приложение в долгосрочной перспективе.

Создание DTO вручную будет означать, что первоначальные усилия по разработке, вероятно, будут более длительными, чем при использовании такого инструмента, как WCF Data Services. Однако, предоставляя только DTO, ваше приложение будет в большей степени отделено от модели внутреннего домена, чем службы данных WCF, поэтому будущие исправления обслуживания, вероятно, будут проще и короче.

Я бы предпочел DTO, если у вас будет достаточно времени и бюджета на начальном этапе разработки, поскольку деньги будут сэкономлены, если приложение будет работать достаточно долго, и его будет легче исправить / изменить. Также использование таких инструментов, как Automapper , может облегчить многие болевые точки, связанные с отображением между объектами домена и DTO.

2 голосов
/ 21 апреля 2010

Альтернативой может быть использование модели персистентного представления, которая состоит из данных в форме вашего DTO (без отображения).Проверьте CQRS от Udi.

...