2016-10-08 5 views
0

私はアンドロイドアプリにダガー2を追加しようとしていました。 私が理解する限り、Daggerはその依存関係が(Module内で)提供されているか、何らかの形の注入(コンストラクタ/メソッド)を使用して注入されている限り、オブジェクトを構築します。ダガー2:アプリケーションモジュールに依存性を提供することと、それを注入することとの比較

モジュールに依存性(アプリケーションモジュールと言う)とコンストラクタインジェクションを使用して注入するときの区別と、いつ行うべきなのかの区別があるかどうかを知りたいのですが?

答えて

2

どちらも同じです。コンストラクタインジェクションでは、基本的にプロバイダメソッドを書く必要がなくなります。経験則として、私は主に、Utilクラスのように、簡単な注入のための引数のないコンストラクタを持つクラスに使用します。

2

実際に違いはありません。 Daggerがインスタンスを構築する方法を知っている限り、それはすべて重要です。

これを行うには2つの理由があります。たとえば、クラスが使用しているライブラリの一部であるが、そのライブラリがない場合など、常にコンストラクタインジェクションを使用できるとは限りません。 source(コンストラクタの1つに@Injectを追加することはできません)。

関連する問題