2016-04-22 73 views
1

我正在開發一個架構基於Uncle's Bob Clean Architecture的Android應用程序。在清潔架構中結合使用案例/交互器

我已經實施了很多我的UseCases/Interactors沒有問題,直到現在。

我有以下的使用情況:

搜索房間

  • 主要成功方案基於給定參數

  • 系統加入了房間

    1. 系統搜索用戶在房間
  • 擴展

  • 間未找到

    一個)的基礎上給出的參數

    b)系統系統創建一個新的房間加入用戶在房間裏

我的問題是:我應該建立一個單一的交互器(SearchOrCreateRoomAndJoin),或者我應該創建三個作用因子(SearchRoom,CreateRoom和JoinRoom)並結合他們根據我的用例描述?

例子:

Room room = searchRoom.execute(roomOptions) 

if(room != null){ 

    joinRoom.execute(room) 

}else{ 

    Room room = createRoom.execute(roomOptions) 

    joinRoom.execute(room) 
} 

這是進口地說,在我的應用程序的一些問題我執行了一些作用因子像SearchRoom

+0

我對這個主題的研究越多,我認爲軟件就越是藝術而不是精確的科學......您是否找到了答案? –

+0

@regregoraes你第二是最好的。爲什麼意味着1.未來你有機會有一些額外的限制,如國家,語言或用戶類型的時間是有幫助的2. Sametime SearchRoom,CreateRoom和JoinRoom也用於其他屏幕(可重用性)Ref:[link](https:// speakerdeck。 com/markomilos/clean-architecture-on-android)宗教時間軸用例幻燈片 –

+1

嘿,需要一些清晰。只有演示者才能執行交互器,或者一個交互器是否可以按照清潔架構執行另一個? –

回答

1

在我看來,你應該發展三大作用因子以尊重單一責任原則。如果你這樣做,你會增加代碼的可維護性和重用性,因爲你可以在其他場景中分別使用這些交互器。