2

我有 SOA,它为不同的客户端(asp,sl)处理数据。这个设计的基础是我的商业模式的领域。对于运输,我使用 DTO 向客户展示它。对于将域映射到 DTO,我使用 AutoMapper。现在我应该坚持来自客户的新实体。我也想在这种情况下使用我的 DTO。所以我有一些问题,因为我对这个设计不太熟悉

1)在客户端上构建 DTO 并将其发送到网络服务是一种好习惯吗?也许我应该通过我的域名?

2) 一个域是否可以有多个 DTO(一个在网格上显示,一个要保存)。为了节省,我需要在客户端设置所有非原始道具。

3) DTO -> 到域。如果我有 int 我可以使用 AutoMapper 为这个 ID 生成 NHibernate 代理,或者我应该手动执行。

你的经历和实践非常有趣。谢谢解答!!!

4

2 回答 2

3

一个好的做法是屏幕和命令特定的 DTO。

这方面的一个例子是,当用户正在查看客户显示屏时,有一个 DTO 包含该客户的所有信息(或者如果您需要延迟加载某些内容,则包含大部分信息)。

这种技术的价值在于数据可以来自多个来源,这使您可以对您的域进行建模,而不是您的屏幕设置方式。它还允许您更改域而无需担心屏幕,因为您只需要更新映射。

根据您的编程语言,可能会有AutoMapper(用于 C#)等工具,可让您轻松创建域和 DTO 之间的映射。

于 2010-06-01T15:07:02.810 回答
-1

您的架构通过网络使用 DTO 而不是域模型实体变得更加灵活。每个域可以有多个 DTO。

于 2010-06-01T09:35:05.080 回答