2017-07-16 58 views
0

我想建立一個基於鮑勃的清潔架構的android應用程序。我讀過很多關於相同的文章。最後是this,this。我已經閱讀了關於here的存儲庫模式。清潔架構Android:在哪裏做對象映射

該應用程序是一個簡單的註釋(/思想)接受應用程序。我是按功能包裝的。

package structure

讓我們的情況下獲得的所有音符/從database.I想法有一個用例/交互器GetAllIdeasUseCase將返回(觀察員)業務對象IdeasEntity的名單。這使用IdeasRepository來獲得想法列表。 IdeaLocalStore是數據庫的存儲庫。 IdeasRepository當前只是在IdeaLocalRepositoryIdeaCloudRepository之間進行選擇,並會調用相應的函數。

要創建IdeasEntity,我需要使用多個db模型,因此需要多次調用IdeaLocalStore。我需要將它們結合起來。

所以問題是我應該在哪裏做這個組合/映射。我應該在IdesRepository中做,還是應該在用例中做?

+0

實體應該在一次讀取中創建,讓數據庫執行該任務。 – Pavlus

回答

2

在我看來,你應該在存儲庫中做到這一點。存儲庫必須負責爲您提供完全創建的對象。 有一本很好的書描述了這種方法 - 域驅動設計( http://mikehadlow.blogspot.com/2009/01/eric-evans-on-repositories.html)。

引自書: '因此,存儲庫的核心目的是封裝持久性。客戶端看起來應該簡單地使用一個實體集合,對象關係映射和特定數據訪問API的所有細節應該隱藏在像集合之類的接口之後。只應爲聚合根提供存儲庫'