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

我正在遵循Clean Architecture模式,其中我们有3层( PresentationDomainData )。

每个图层都应该有自己的模型,这些模型在使用mapper传递到另一个图层时应该被转换。

我想知道是否有一个简单的方法(一个库?)将data model映射到domain model而不创建mapper ,特别是如果我的data model有很多字段(如40-50)。

编辑

我已经试过ModelMapper和DozerMapper,但显然他们不能很好地在Android( ModelMapper问题和DozerMapper问题 )上工作。

提前致谢。

你正在寻找一个AutoMapper! 有很多,大部分都大致命名为AutoMapper。

这是一个Java的: http : //modelmapper.org/

我不知道Kotlin,因为我还没有看过它,但我猜测,如果一个JavaScript自动映射器库不兼容,它将不会很长时间之前。

最后的辩论思路:

我想澄清一下,除非有必要,否则每一层都不应该有自己的模型。 我相信清洁架构,你的领域模型应该是goto。 例如; 如果你需要调整你的模型,使其可以被持久化(例如,在一个SQL数据库中),那么你需要一个DTO。 另一方面,如果您的域模型可以序列化为JSON并保存到NoSQL数据库中,则不需要复制模型。 保持干爽!