2
在乾淨的架構,如果我按功能組織我的包。在哪裏放依賴注入Dagger2
類代碼?如果把依賴注入類清潔架構
在乾淨的架構,如果我按功能組織我的包。在哪裏放依賴注入Dagger2
類代碼?如果把依賴注入類清潔架構
除了上面收到的好評以外,您應該按照包中的功能對班級進行分組,並將Dagger 2 Component
和Module
類放在該軟件包中。
請參閱谷歌Android架構藍圖Dagger/MVP sample。
有一個根包爲應用程序類和應用範圍的模塊和部件。從這個根包,也有按功能分爲以下子包:
addedittask
statistics
taskdetail
tasks
util
包裏面有以下類:
TaskDetailActivity.java
TaskDetailComponent.java
TaskDetailContract.java
TaskDetailFragment.java
TaskDetailPresenter.java
TaskDetailPresenterModule.java
這樣做的好處是,你可以使用access control來防止您的班級意外使用。這符合有效的Java項目13 - 儘量減少班級和成員的可訪問性。
您可以按照下面的示例https://github.com/burhanrashid52/AndroidDaggerMVPRxArchitecture –
類應該圍繞* Constructor Injection *進行設計,並且類應該在* [Composition Root]中組成(或註冊)(http:// blog.ploeh.dk/2011/07/28/CompositionRoot/)*。 – Steven