是否应该始终使用数据传输对象来传输数据?请参阅下面的代码:
public function getPerson(ByVal id As integer) As Person
return Person
end function
public function getPersonAge(ByVal id As integer) As Integer
return age
end function
第一个函数返回该人的每一条信息,当在应用程序的其他部分中获取有关该人的信息(例如地址)时,该信息可能会被反复使用。getPersonAge稍微快一点。
请更加清楚。但是,如果你的问题仅仅是"DTO应该只用于传输数据吗",答案是肯定的。
DTO的一个很好的用途是要记住,它们只是一堆getter/setters/属性,比如:public int MyProperty { get; set; }
。
在MVC中,您可以将它们视为ViewModels,但不是针对视图,而是针对应用程序中的几个层。