Android-CleanArchitecture-Kotlin icon indicating copy to clipboard operation
Android-CleanArchitecture-Kotlin copied to clipboard

Other options for entity mapping?

Open ehsankalafchi opened this issue 5 years ago • 1 comments

In this sample there are at least three sets of Entites: Data layer entities (mapped to REST api or database: MoveEntity), Domain layer entities (Movie) and view layer entites (MovieView). For each entity to flow from data layer to view layer two mappers are needed. Two other mappers are needed for reverse direction, which are not provided in this sample because only read scenarios are implemented. It means that four mappers are involved in moving data through layers back and forth. Adding a new field require all of them to change as well. This can become a maintenance problem. I have two questions regarding this issue:

  1. Where is the best place to implement mapping logic?
  2. What are other options? (maybe some kind of automatic mapping?)

ehsankalafchi avatar May 31 '20 19:05 ehsankalafchi

it is just an example. You can use single entity class on all the layers you want or define the specific entity depending on each layer. I prefer to use the minimum number of entity unless the case of re-usability which makes easier for clean-code.

I've a case on creating the multiple entity for distinguished feature-modules, where I created the new entity in ViewModel of the base module where the feature module was required to be implemented

aaghan avatar Jun 09 '20 20:06 aaghan