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

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

只是想找到一种方法来避免这段时间在我的开发中下沉。

谢谢!

有帮助吗?

解决方案

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

其他提示

疼痛和风险

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

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

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

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

使用 ValueInjecter ,您可以将任何内容映射到任何地方,例如。

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

它具有很酷的功能,如:扁平化和不平整

下载包含大量示例(asp.net mvc的示例应用程序,Web表单,winforms,单元测试)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top