通常要求在UI上以各种方式显示域对象;列表,搜索结果,查看和编辑页面,以及页眉,页脚和弹出窗口。通常,您有几个不同的域视图“视图”,每个视图都显示不同的字段。
大多数建议似乎是在需要子集或超集时使用DTO来获取数据。维护DTO有很多开销。简单地填充每个场景所需的域对象的属性是一种糟糕的方法。例如,您可以使用配置文件来说明应包含哪些属性,例如:
service.GetDomainObjects(int listID,Profile.ListProfile); service.GetDomainObjects(string searchParam,Profile.SearchProfile);
答案 0 :(得分:3)
对于我来说,这就是你想要开销的地方,要么你将有一组不同的类来代表你的DTO,要么你将拥有一组方法,每个方法返回相同的域对象,但不同的字段被“保湿”。
我要求帮助做出决定的几个问题是:
我对DTO有一点个人偏好,因为我觉得系统的长期维护会更容易。如果你是一个单人乐队,或者这是一个一次性扔掉的应用程序,我完全理解不想介绍一堆会使你的代码混乱的额外课程。