Manera fácil de mapear models de datos a models de dominio

Estoy siguiendo el patrón de Clean Architecture en el que tenemos las 3 capas ( Presentation , Domain , Data ).

Cada capa debe tener su propio model y estos models se deben convertir cuando se pasen a otra capa utilizando un asignador.

Quería saber si hay una manera fácil (¿una biblioteca?) De mapear un data model a un domain model sin crear un mapper , especialmente si mi data model tiene muchos campos (como 40-50).

Editar

Ya probé ModelMapper y DozerMapper, pero aparentemente no funcionan bien en Android ( problema ModelMapper y problema DozerMapper ).

Gracias por adelantado.

¡Está buscando un AutoMapper! Hay muchos de ellos y la mayoría se denominan aproximadamente AutoMapper.

Aquí hay uno para Java: http://modelmapper.org/

No estoy seguro acerca de Kotlin, ya que aún no lo he investigado, pero supongo que si una librería de JavaScript Automapper no es compatible, no pasará mucho time antes de que se cree una.

Pensamiento final para el debate:

Me gustaría aclarar que cada capa no debería tener su propio model a less que sea necesario . Creo en la Arquitectura Limpia, los models de tu dominio deberían ser el objective. Por ejemplo; Si necesita ajustar su model para que pueda persistir (por ejemplo, en una database SQL), entonces necesitaría un DTO. Por otro lado, si su model de dominio se puede serializar en JSON y persistir en una database NoSQL, entonces no hay necesidad de duplicar un model. Mantente seco!

  • convert comparator en lambda en Kotlin
  • Configuración de Maven para usar Dagger 2 en un proyecto Java / Kotlin mixto
  • Cómo establecer el valor de propiedad pnetworkingeterminado de Kotlin a `this`
  • Definición de un constructor pnetworkingeterminado y un constructor secundario en Kotlin, con properties
  • ¿Las coroutines de kotlin tienen llamada asincrónica con timer?
  • Error de comstackdor interno de Android Studio kaptDebugKoltin
  • Genéricos de Kotlin: Kotlin no reconoce mi class con la inheritance correcta
  • Complemento de IntellJ IDEA Kotlin: "no hay configuradores disponibles"
  • ¿Cómo manejar la class duplicada antes de la compilation kotlin-android?
  • ¿Puedo tener un tipo de devolución diferente en kotlin?
  • Kotlin: itera sobre los componentes del object