清洁架构Android:在哪里做对象映射

时间:2017-07-16 19:02:30

标签: android clean-architecture

我正在尝试基于bob的干净架构构建一个Android应用程序。我读过很多关于同样的文章。最后关注thisthis。我从here读到了关于存储库模式的内容。

这个应用程序是一个简单的Note(/ Ideas)应用程序。我按功能打包。

package structure

让我们从数据库中获取所有注释/想法。我有一个usecase / interactor GetAllIdeasUseCase,它将返回(观察者)业务对象IdeasEntity的列表。这使用IdeasRepository来获取想法列表。 IdeaLocalStore是数据库的存储库。 IdeasRepository目前只在IdeaLocalRepositoryIdeaCloudRepository之间选择,并将调用它们上的相应函数。

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

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

1 个答案:

答案 0 :(得分:2)

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

从书中引用: '因此,存储库的核心目的是封装持久性。客户端应该看起来只是使用实体集合,对象关系映射和特定数据访问API的所有细节都应隐藏在该集合之后,如界面。只应为聚合根

提供存储库
相关问题