2

我正在尝试基于 bob 的干净架构构建一个 android 应用程序。我读过很多相同的文章。最后跟着这个这个。我从这里阅读了关于存储库模式的信息。

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

封装结构

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

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

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

4

1 回答 1

5

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

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

于 2017-09-27T11:47:48.340 回答