2016-04-25 7 views
0

たとえば、Daggerを使用して(Otto)Busオブジェクトを注入している場合、インターフェイスに注入する場所の数を指定するために、より多くのコード行を書く必要があります。JavaまたはAndroidのシングルトンクラスに依存性注入が必要なのはなぜですか?

一方、シングルトンクラスを使用してBusインスタンスを返すだけであれば、依存性注入の場合に必要なコード行数だけ書く必要はありません。

私の質問は「依存性注入を使用してシングルトンクラスのインスタンスを挿入するのはなぜですか?」

答えて

3

まず、必要な依存関係を使用してインスタンスをセットアップするために呼び出す定型文の量を減らします。コードが少なくなると読みやすさが向上します。これに支払う価格は関係する構成ですが、大規模なプロジェクトの場合はそれだけの価値があります。

第2に、アプリで自動化されたテストを実行しているときにDIから利益を得ることができます。すべてのケースをカバーするために必要な、さまざまなシナリオをシミュレートするために制御および使用できるモックで、標準のシングルトン実装を置き換える権限が与えられます。

DIは、大規模なAndroidプロジェクト、中規模から大規模のEEプロジェクトにしか適していないとも思っています。それ以外の場合は、不要な複雑なIMHOが少し追加されます。

関連する問題