DIフレームワークGuice

Guiceは、Googleによりオープンソースで開発されているDI(Dependency Injection)フレームワークである。

Dependency Injection (DI)

プログラムをモジュールやクラスに分割して構築すると、それらの間には依存性(Depencency)が生じる。この依存性が強すぎると、モジュール性(コード再利用のし易さ)やテスト可用性(テストのし易さ)が低くなってしまう。Dependency Injection (DI)とは、目的に合わせてクラス間の依存関係を柔軟に切り替えられるようにする設計思想である。このDIに基づいた設計を行うことで、モジュール性とテスト可用性の高いプログラムを開発できる。

DIフレームワークは、DIに基づいて設計されたコードを簡単に開発するためのフレームワークである。DIフレームワークの目的は、設定にしたがって自動的にインスタンスを組み立てて提供することである。

アノテーション

@Provides

プロバイダメソッドは、Moduleの関数として定義したメソッドを、コンポーネントを取得する際のProviderとして使う機能である。Module実装クラス又はAbstractModule実装クラスの記述で@Provideアノテーションを強したメソッドを記述すればよい。メソッドの名前は何でもよく、メソッドの戻り値はバインディングされたタイプである。インジェクタは、このタイプのインスタンスが必要になると、このメソッド呼び出す。

スポンサーリンク