WCF - Domain Objects and IExtensibleDataObject典型场景。我们使用老式XML Web Services 我们目前正在考虑从 通过使用 我一直听说我们应该通过网络使用专用的仅传输数据传输对象( 为什么?还有理由吗?我们在服务器端和客户端使用相同的域模型,当然,只有在认为正确且"必要"时才使用预填充集合等。收集属性利用服务定位器原理和IoC调用 那么-为什么我们需要使用 曾经使用过两种方法(共享域对象和DTO),我会说共享域对象的最大问题是当您不控制所有客户端时,但是根据我过去的经验,除非开发,我通常会使用DTO。速度至关重要。 如果您有可能永远无法控制客户,那么我绝对会推荐DTO,因为一旦您与他人的客户应用程序共享域对象,您便开始将内部对象与他人的开发人员联系起来循环。 我还发现DTO在版本化服务环境中工作时很有用,这使我们能够从根本上更改应用程序的内部结构,但仍可以接受对服务接口旧版本的调用。 最后,如果您有很多客户端应用程序,那么使用DTO可能也会有好处,因为这样可以通过易于版本控制的服务对其进行保护。 以我的经验,DTO对于以下方面最有用: 在您的方案中,这些设计功能可能没有太大关系。我已经将WCF与严格的DTO和共享的域对象一起使用,并且在两种情况下都非常有效。通过有线发送域对象时,我唯一注意到的是,我倾向于发送比我需要的更多的数据(并且以意外的方式)。这可能更多是由于我对WCF缺乏经验,而不是其他任何原因。但这绝对是您应该警惕的选择。 |