hgu*_*yan 3 .net design-patterns domain-driven-design data-transfer-objects
我在 SO 上的书籍和文章中阅读了很多关于 DTO 的内容,但我不确定我是否理解正确。
我们在项目中使用 DTO,因此它们几乎只是域对象的属性。因此,我们需要一个复杂的 DTO 结构。有一些类相互扩展,组合、聚合等。
问题比较笼统。
从另一个 dto 继承一个 dto 或在另一个 dto 中引用一个 dto 是否正确?
从另一个 DTO 继承 DTO 是否正确
如果他们有共同的属性,那为什么不呢?
在一个 DTO 中引用另一个 DTO
这绝对没有错,请考虑以下几点:
public class UserDto
{
public string Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public AddressDto Address { get; set; }
}
public class AddressDto
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
请记住,DTO 只是愚蠢的对象,即它们没有行为(除了获取/设置自己的数据)。从体系结构的角度来看,适用于 DTO 的规则与适用于标准类/对象的规则相同,因此如果可以的话,没有理由不遵循相同的原则。