C# C语言中DTO的克隆#

C# C语言中DTO的克隆#,c#,clone,dto,C#,Clone,Dto,目前,为了克隆我的DTO,我正在实现IClonable,但这(以及类似克隆ctor的替代方案)意味着我需要将实现逻辑添加到我的(否则)仅数据对象中 有没有更好的方法来克隆DTO,或者包括克隆逻辑被认为是可以的?这样的逻辑非常基本,我认为它正在扩展到称之为实现逻辑。通过这种方式进行克隆可能更有意义: 您可以调用MemberwiseClone来创建浅拷贝 DTO知道克隆自身所需的一切 您不必为此对象或依赖于反射的辅助对象创建单独的对象 在我看来,不将克隆逻辑添加到DTO中是一个明显的例子,说明遵循体

目前,为了克隆我的DTO,我正在实现IClonable,但这(以及类似克隆ctor的替代方案)意味着我需要将实现逻辑添加到我的(否则)仅数据对象中


有没有更好的方法来克隆DTO,或者包括克隆逻辑被认为是可以的?

这样的逻辑非常基本,我认为它正在扩展到称之为实现逻辑。通过这种方式进行克隆可能更有意义:

  • 您可以调用MemberwiseClone来创建浅拷贝
  • DTO知道克隆自身所需的一切
  • 您不必为此对象或依赖于反射的辅助对象创建单独的对象

  • 在我看来,不将克隆逻辑添加到DTO中是一个明显的例子,说明遵循体系结构模式太远。

    “iClonable现在被认为是一个糟糕的API,因为它没有指定结果是深度拷贝还是浅层拷贝”为什么要克隆DTO?没有必要,为什么没有必要?我可以想到很多情况下,您需要创建第二个副本数据集,您可以独立于原始数据集进行更改。谢谢-这几乎是我的观点,但我对使用DTO比较陌生,希望确保我没有做傻事