我正在评估RealmDb,我觉得RealmDb与模型层紧密结合.这让我觉得如果明天我需要替换一些其他本地数据库,那将是一个巨大的重构努力.
我的问题是如何使用RealmDB实现干净的架构?我可以遵循的任何例子?
最佳答案
如果需要,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
}
在许多情况下,这很可能是矫枉过正,但它会给你你想要的分离.