2016-07-21 143 views
3
依賴

我的應用程序有三個組成部分,每一個都有自己的適用範圍:初始化在運行時

  1. 辛格爾頓 - 用於整個應用程序生命週期
  2. 活動 - 用於活動中的生命週期
  3. 用戶 - 當用戶登錄我們的服務器時使用

我的一些活動在用戶組件中存在依賴關係。但是,當用戶沒有登錄時,我的一些活動就存在,因此在用戶組件尚未創建時必須存在。

如果我的想法是正確的做到這將是定義一個額外的組件的最佳方式,給我:

  1. 辛格爾頓
  2. LoggedOutActivity - 當用戶登出
  3. 存在對於活動
  4. 用戶
  5. LoggedInActivity - 對於當用戶在

登錄因此只存在活動這意味着我的LoggedOutActivities沒有來自User組件的依賴關係,並且LoggedInActivities現在可以依賴於User組件。

創建這個額外的組件,從而分離我的活動顯然增加了一些複雜的代碼,所以在我繼續之前我想澄清這聽起來像是正確的方法。還是有更好的方法可以讓我把所有的活動都集中在一個範圍內?

回答

1

這一切都取決於你想要做什麼—以及如何。

首先,你的方法對我來說似乎沒問題。如果你有不同的依賴關係,你將需要不同的組件。這是組件的用途,這是你應該如何使用它們的。

我個人通常每個活動都有一個組件。然後我可以使這個組件依賴於它需要的任何其他組件。我不會嘗試重複使用相同的組件進行我的所有活動。

如果您想重複使用代碼,您可能需要重新使用模塊。如果你總是從你的活動中提供相同的東西(Context,FragmentManager等),只需創建一個專用模塊來提供這些。然後,您可以創建多個組件,這些組件都可以使用相同的模塊來幫助爲每個活動提供一個活動範圍的依賴關係—,或者一個依賴於用戶,另一個依賴於應用程序組件,如上所述。

相關問題