Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 使用DTO作为数据契约_Design Patterns_Architecture_Entity_Dto_Datacontract - Fatal编程技术网

Design patterns 使用DTO作为数据契约

Design patterns 使用DTO作为数据契约,design-patterns,architecture,entity,dto,datacontract,Design Patterns,Architecture,Entity,Dto,Datacontract,我只是在想,与其为我们的服务层的数据契约提供一组单独的程序集,为什么不使用DTO程序集作为数据契约,对[Data Contract]和[KnownType]等属性进行必要的更改呢。换句话说,当我们使用DTO作为数据契约时,我们有什么困难/缺点(当然,需要对DTO进行必要的修改)。 如果你能提供你对此的观点,这将是有益的。提前感谢。我认为从服务层公开DTO是DTO的合理使用 缺点是什么?您正在增加复杂性,因为您已经有了域模型 使用像or这样的映射框架可以减少这个问题。谢谢Joe,我同意你的观点,我

我只是在想,与其为我们的服务层的数据契约提供一组单独的程序集,为什么不使用DTO程序集作为数据契约,对[Data Contract]和[KnownType]等属性进行必要的更改呢。换句话说,当我们使用DTO作为数据契约时,我们有什么困难/缺点(当然,需要对DTO进行必要的修改)。
如果你能提供你对此的观点,这将是有益的。提前感谢。

我认为从服务层公开DTO是DTO的合理使用

缺点是什么?您正在增加复杂性,因为您已经有了域模型


使用像or这样的映射框架可以减少这个问题。

谢谢Joe,我同意你的观点,我确实看到了你观点的合理性。只是想成为魔鬼代言人,这样以后我就不必改变设计了。但是在我的领域模型中,我可能有一个复杂的类scructure,它在应用层中是必需的,但在表示层中可能不是必需的。