何时使用映射框架,何时手动映射?

问题描述:

我有一个关于并行对象层次结构(如DTO)的问题。
这些层次结构必须以某种方式映射到彼此之间。最直接的方法是手动使用简单的映射。在这种情况下,您只需编写代码,将属性值从一个对象逐个传送到另一个对象。
这种方法非常费力,但它提供了最多变化和最佳性能。写这样的映射也很容易。何时使用映射框架,何时手动映射?

另一种方法是使用一些映射框架,如DOZER。这种方式应该不那么费力,但是你放松了一些变化。如果不是不可能的话,一些复杂的映射很难实现。你也失去了一些表现。

所以我的问题是:
有什么建议何时使用映射框架以及何时需要手动映射? 它取决于你的映射的复杂性吗?或者总是使用映射框架更好?

在此先感谢。

我会说尽可能自动化,只要它不增加复杂性。如果它是复杂的,自动映射不能轻易实现,那就手动完成。另外,当你打到性能瓶颈时,用手绘制地图。没有一种解决方案可以在任何情况下都能正常工作。通过尽可能多的自动化工作来解决问题。