11

我最近参与了几个分布式客户端/服务器项目,我们经常遇到的一个痛点是将 DTO 对象转换为我们的实体,反之亦然。我想知道是否有人对这个时间槽有一个“简单”的解决方案?

我想到的一件事是使用反射进行某种翻译......我想你必须确保你的属性名称在线路的每一侧都完全相同 - 但似乎它可能会起作用。

只是在寻找一种方法来避免我的开发中的一些时间沉没。

谢谢!!

4

4 回答 4

3

痛苦与风险

手动获取/设置属性!你试过这个:http ://dozer.sourceforge.net/ 。

用于将 bean 转换为 bean 的灵活且可配置的框架。可能有帮助!

于 2008-10-15T13:35:50.923 回答
3

我最近一直在使用AutoMapper,它就像一个魅力。

于 2009-09-17T20:08:12.347 回答
0

我已经成功地使用了 XDoclet 之类的工具(尽管编写脚本应该不难)来自动生成传输对象和简单的实体翻译。

也就是说,如果您认为您的实体翻译足够简单,可以使用反射来完成,那么您是否有理由不能只通过线路而不是 DTO 传递实体对象?稍微自定义的序列化可能比完整的 DTO 更好。

于 2008-10-15T13:36:12.407 回答
0

使用ValueInjecter,你可以将任何东西映射到任何东西,例如

 object <-> object
 object <-> Form/WebForm
 DataReader -> object

它具有很酷的功能,例如:扁平化和非扁平化

下载包含大量示例(asp.net mvc、web-forms、winforms、单元测试的示例应用程序)

于 2010-06-15T08:53:48.160 回答