我在评估RealmDb,我觉得RealmDb与模型层紧密结合。这让我觉得如果明天我需要更换一些其他本地数据库,那将是一个巨大的重构努力 我的问题是如何使用RealmDB实现干净的架构?我可以遵循的任何例子吗?
答案 0 :(得分:2)
如果需要,Realm可以更轻松地将数据库模型重新用作视图模型。但是没有什么可以阻止你拥有数据层实体和视图层实体,然后在边界上进行映射。
E.g。
// 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
}
在许多情况下,这很可能是矫枉过正,但它会给你你想要的分离。
答案 1 :(得分:1)