java - 将数据模型映射到域模型的简单方法

标签 java android kotlin clean-architecture

我遵循整洁架构模式,其中我们有3层(演示数据)。

每个层都应该有自己的模型,并且这些模型在使用映射器传递到另一个层时应该进行转换。

我想知道是否有一种简单的方法(库?)将数据模型映射到域模型而无需创建映射器,特别是如果我的数据模型有很多字段(例如40-50)。

编辑

我已经尝试过 ModelMapperDozerMapper但显然它们在 Android 上运行不佳( ModelMapper issueDozerMapper issue )。

提前致谢。

最佳答案

Adam Vincent说,在整洁的架构中,领域模型是核心,除此之外,每一层都应该仅在必要时定义自己的模型。

我的日常工作涉及多个使用整洁架构的项目。我们通常发现自动映射工具没有提供太多值(value)。原因是,整洁的架构从根本上讲是消除从域层到实现/结构层的依赖关系。自动映射器工具往往支持有限的转换,甚至强制持久层模型(例如 DTO)与域类型一对一匹配。这往往会限制域和持久层模型针对其不同职责进行定制的能力。

特别是,域类通常包含一组与相应的持久层类略有不同的字段。我们更喜欢使用不可变类、构造函数和手动实现的映射逻辑等模式(前者大大简化了后者的维护)。这确保了域模型和持久性模型之间的转换得到明确且仔细的考虑。

关于java - 将数据模型映射到域模型的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47041495/

相关文章:

android - Worklight - MTOM 附件图像文件

使用 Bitbucket pipelane 和 Docker 进行 Android 仪器测试

java - 不使用时如何关闭Jasync Postgresql连接

android - 如何处理 jetpack compose 中 popBackStack() 的多次点击

java - 使用正确的编码进行内部编译?

java - 验证 RSA 私钥和公钥是否匹配

java - Hazelcast L2 缓存慢

android - Parcelable readString() 可为空警告

android - db.collection().document().get() 从不返回 null

java - windows mobile java应用程序上的签名捕获