3 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
有些项目的所有数据都有两次。一次作为域对象,一次作为数据传输对象。
这种重复需要付出巨大的代价,因此该体系结构需要从这种分离中获得巨大的收益才能使其值得。
慕桂英4014372
TA贡献1871条经验 获得超13个赞
DTO不是反模式。通过网络发送一些数据(例如,通过Ajax调用发送到网页)时,您要确保仅通过发送目标将使用的数据来节省带宽。同样,对于表示层来说,以与本机业务对象略有不同的格式存储数据通常很方便。
我知道这是一个面向Java的问题,但是在.NET语言中,匿名类型,序列化和LINQ允许即时构建DTO,从而减少了设置和使用它们的开销。
拉丁的传说
TA贡献1789条经验 获得超8个赞
DTO EJB 3.0中的AntiPattern表示:
在EJB 3.0之前的EJB规范中,实体Bean具有沉重的性质,导致使用了诸如数据传输对象(DTO)之类的设计模式。DTO成为了轻量级对象(首先应该是实体Bean本身),用于跨层发送数据...现在EJB 3.0规范使Entity Bean模型与普通旧Java对象(POJO)相同。使用这个新的POJO模型,您将不再需要为每个实体或一组实体创建DTO ...如果要跨层发送EJB 3.0实体,则使它们只需实现java.io.Serialiazable
添加回答
举报
0/150
提交
取消
