android - 整洁的架构 Android : where to do object mapping

标签 android clean-architecture

我正在尝试基于 bob 的整洁架构构建一个 android 应用程序。我读过很多关于相同的文章。终于关注this , this .我已经从 here 中阅读了有关存储库模式的信息.

该应用程序是一个简单的记笔记(/想法)应用程序。我按功能打包。

package structure

让我们以案例为例,从数据库中获取所有笔记/想法。我有一个用例/交互器 GetAllIdeasUseCase,它将返回(观察者)业务对象列表 IdeasEntity。这使用 IdeasRepository 来获取想法列表。 IdeaLocalStore 是数据库的存储库。 IdeasRepository 目前只是在IdeaLocalRepositoryIdeaCloudRepository 之间进行选择,并会在它们上面调用相应的函数。

要创建 IdeasEntity,我需要使用多个数据库模型,因此需要多次调用 IdeaLocalStore。我需要将它们结合起来。

所以问题是我应该在哪里进行这种组合/映射。我应该在 IdesRepository 中执行还是应该在 usecase 中执行?

最佳答案

在我看来,您应该在存储库中执行此操作。存储库必须负责为您提供完全创建的对象。 有一本描述这种方法的好书 - 领域驱动设计( http://mikehadlow.blogspot.com/2009/01/eric-evans-on-repositories.html ).

书中引述: '因此,存储库的核心目的是封装持久性。客户端应该看起来只是在使用一个实体集合,并且对象关系映射和特定数据访问 API 的所有细节都应该像接口(interface)一样隐​​藏在该集合后面。仅应为聚合根提供存储库

关于android - 整洁的架构 Android : where to do object mapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45132328/

相关文章:

c# - IHttpContextAccessor.HttpContext.User.Identity 显示 CurrentUserService 服务中的所有空属性

java - JPA 整洁架构

android - 如何在 android 中扰乱图像(图像处理)?

安卓/ Kotlin : unresolved reference: timber

design-patterns - 输入端口在整洁架构中的作用

mvvm - 如何在ViewModel层上将普通数据(从房间返回)转换为LiveData

android - 征求意见 - 我应该如何将 Facebook SDK 集成到 Android 的 Clean Architecture 中?

android - 未正确构建 ListView 项目

android - onClick 内部 fragment 给我 NPE

android - Canvas 画不光滑的圆圈