[英]Is it necessary to inject everything with Dagger 2?
我是Dagger的新手。 我對用匕首注入什么和不注入什么感到困惑。 我知道有必要使用Dagger注入Android Framework類和我的類,但是否真的有必要使用Dagger注入基本的Java類,如String,StringBuilder等。
public String create(Context context) // Creating Simple objects in the method itself
{
StringBuilder builder=new StringBuilder();
....
return builder.toString();
}
public String create(Context context,StringBuilder builder) // Injecting everything
{
....
return builder.toString();
}
您無需注入任何東西。 您可以在該方法中創建任何您喜歡的東西。 該方法內部只是普通的舊Java代碼。
僅當在該方法中創建的事物不關心特定值,而僅需要一個值時,才將事物作為參數插入。
注入普通類的事情是您需要對它們進行限定:您在此處注入的String不一定要與在此注入的String相同。 因此,您需要一些消除歧義的方法,例如注釋。
但是,如果順理成章地注入所有內容,那么最終將得到很多注釋。 有時您確實想這樣做; 有時不是。 當您編寫更多代碼時,您會感覺到這一點。
換句話說,注入的重要部分在於它可以讓您管理對象的狀態 (包括生命周期,如果需要的話)。
因此,如果您有一個沒有狀態的類(例如,提供一些無狀態功能的Util類),則永遠不要注入它。
如果您的StringBuilder類不需要共享狀態(即,在兩個對象之間使用相同的StringBuilder),則不需要注入它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.