RealmDb:Android中的清洁架构

Sig*_*die 5 android realm

我正在评估RealmDb,我觉得RealmDb与模型层紧密结合.这让我觉得如果明天我需要替换一些其他本地数据库,那将是一个巨大的重构努力.
我的问题是如何使用RealmDB实现干净的架构?我可以遵循的任何例子?

Chr*_*ior 2

如果需要,Realm 可以让您更轻松地重新使用数据库模型作为视图模型。但是没有什么可以阻止您拥有数据层实体和视图层实体,然后在边界上进行映射。

例如

// Data layer
public class FooEntity extends RealmObject {

  // Realm fields and methods... 

  public static FooEntity fromViewModel(FooViewModel viewModel) {
    // Convert to entity
  }

  public static FooViewModel toViewModel(FooEntity entity) {
    // Convert to view model
  }


}

// View layer
public class FooViewModel {
  // Standard POJO used by the View layer
}
Run Code Online (Sandbox Code Playgroud)

在许多情况下,这很可能是矫枉过正,但它会给你带来你想要的分离。