tes*_*dtv 32 java architecture data-transfer-objects domain-object
能否用简单的术语解释Transfer对象和Domain对象之间的区别?如果你能给出一个Java例子,那就太棒了..
Boz*_*zho 50
如果使用贫血数据模型(即您的域对象没有任何逻辑),DTO和域对象可以是同一个对象.
相关:http://techblog.bozho.net/?p = 427
Adr*_*n K 18
数据传输对象(DTO)用于在应用程序的不同部分(例如不同的层)或不同的应用程序之间交换数据.
域对象(DO)(以及从中派生它们的类)实现业务逻辑,因此它们仅位于业务逻辑层/域中(即使术语不同,基本含义也是相同的).
因为DO实现业务逻辑,所以它们可能很复杂,并且可以包括方法,事件等.
关于DTO的另一点
根据Martin Fowler的观点,DTO是几个对象的组合(每个对象都是大多数人通常称之为DTO的对象); 理由是,在不那么频繁地发送较大数据包的情况下,成本较低(而不是"聊天"并且不断地通过线路发送许多小包).
因此,大多数人将DTO视为单个对象时,Martin F说DTO只是一个包含几个离散(可能不相关)对象的"包络" .不是一个大问题IMO - 大多数人认为DTO是根据我的定义在这个答案的顶部(或接近它的东西).
由于其使用的性质,传输对象通常是可序列化的,如果调用是远程的并且在 JVM 之间,这尤其相关,或者它们将以促进序列化的方式使用,例如有状态会话 bean。为此,传输对象必须易于受到这种“处理”,即传输对象实现可序列化。
域对象可能不是相反的。领域对象可能包含行为,但 DTO 只是一种传输媒介。
| 归档时间: |
|
| 查看次数: |
22107 次 |
| 最近记录: |