首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RealmDb :安卓中的整洁架构

RealmDb :安卓中的整洁架构
EN

Stack Overflow用户
提问于 2016-05-07 14:25:04
回答 2查看 1.1K关注 0票数 5

我正在评估RealmDb,我感觉RealmDb与模型层紧密耦合。这让我觉得,如果明天我需要用其他本地数据库取代它,那将是一个巨大的重构努力。

我的问题是如何使用RealmDB实现干净的架构?有什么我可以效仿的例子吗?

EN

回答 2

Stack Overflow用户

发布于 2016-05-07 19:49:13

Realm使您可以更容易地将数据库模型重用为视图模型。但是,没有什么可以阻止您拥有数据层实体和视图层实体,然后在边界上进行映射。

例如。

代码语言:javascript
复制
// 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
}

在许多情况下,这很可能是过度杀伤力,但它会给你你想要的分离。

票数 2
EN

Stack Overflow用户

发布于 2017-03-23 04:32:34

有不同的架构,其中的主要目标是隔离我们的框架的应用领域,如干净架构,洋葱架构,六边形架构。

为了实现这种隔离,实现细节被隐藏为数据层。在域层中定义了边界或端口,定义了如何访问存储的数据,但不知道它们是如何存储的,通常使用存储库模式来实现此体系结构需求。

有了这些需求,我们通常会有一个持久化模型和差异化的领域实体。持久化模型可以而且应该耦合到我们正在使用的框架,例如Realm。

我留下了一个图表,你可以更好地用图形来理解它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37085259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档