可能的DTO classes vs. struct副本;但是我觉得那里给出的答案都没有一个具体而简洁地成为我要弄清楚的问题的根源。
我一直在深入研究领域驱动设计(DDD),并且遇到了DTO(数据传输对象)的概念,据我所知,DTO用于(如顾名思义,就是在应用程序的各层之间传输原始数据。它们不具有最小的功能(也许是某些方法来转换所保存数据的格式,例如序列化方法,仅此而已)。
我在C#中作为gamedev(Unity引擎)工作很多,并且我在很多游戏系统之间使用了很多结构传递相关数据,而没有任何DTO的实际知识。
我的问题:C#中的Struct是否应该是DDD中DTO的实现? (我的实践经验告诉我是的,但是正如所提到的问题所涉及的那样,结构不能从其他结构继承,并且不能拥有序列化功能,因此我实际上倾向于认为正确的答案是否定的。 )
一个后续问题:到目前为止,我已经将结构的概念基本上定义为数据包。将DTO视为数据包是否太简单了?