我正在尝试基于 bob 的整洁架构构建一个 android 应用程序。我读过很多关于相同的文章。终于关注this , this .我已经从 here 中阅读了有关存储库模式的信息.
该应用程序是一个简单的记笔记(/想法)应用程序。我按功能打包。
让我们以案例为例,从数据库中获取所有笔记/想法。我有一个用例/交互器 GetAllIdeasUseCase
,它将返回(观察者)业务对象列表 IdeasEntity
。这使用 IdeasRepository
来获取想法列表。 IdeaLocalStore
是数据库的存储库。 IdeasRepository 目前只是在IdeaLocalRepository
和IdeaCloudRepository
之间进行选择,并会在它们上面调用相应的函数。
要创建 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/