誰でもできるので調査を行った結果ですが、説明なぜGoogle Guiceは有用か?

StackOverflow https://stackoverflow.com/questions/1462640

  •  13-09-2019
  •  | 
  •  

質問

私については、Google Guice、理解する一般課題とその他のへの依存性を注入したならばなかなかGuice"実践"がその価値が明確になる。

った人がいれば、認識した場合などをする。

役に立ちましたか?

解決

Google Guiceを提供やすさの単位で試験を高いレベルです。一部の人がそうなのではないでも利用ユニット検査に分けられます。人に使っている春の依存関係射出以上のみユニットテスト。

低レベルに活用しますGuice物の凝集のお申し込みは、授業のプロジェクトできる疎結合ます。をご提供できますのクラスのための別のクラスになれます。

次のような例を考えてみましょう:

public class A{

}

public class B{
  A a = new A();
}

Bクラスが密に結合したクラス、またはその他の言葉で依存のクラスは、存在するのか、また

がGuiceできるのではなく、で疎結合のようになります:

public class B{
    private A a;

    @Inject
    public B(A a){
        this.a = a;
    }
}

Bクラスは緩やかに連結した、Guiceによって担われているこのインスタンスの代わりにBをインスタンスを生成します。ここで延長できますを提供インタフェースへのシビアアクシデントの実装できる模擬オブジェクトしたい場合はユニットテストアプリとなります。

とはいえまだ議論の依存関係を注入です。外依存性注射をGoogle Guiceは:

  1. Guiceは非常にクリーンの実装のコンストラクタ。これを見ていただきますと、例だけで追加@注注釈のコンストラクタです。
  2. Guiceもセッター注入同じアノテーションを期待で
  3. とはいえ、そのアノテーションに基づく注射は非常にクリーンアプローチに比べてXMLベースの注入などその他のジの実装です。
  4. すべての依存関係を注入および構成Javaを利用して、保証を得typesafetyお申し込みによるデフォルトです。
  5. Guiceは非常に軽量化の実施面の指向プログラミングはかることができてラッパーのAOPAlliance AOP実施。の良いものでも発生していないスタブは何か。

その概要です。が得られより深いとGuiceり多くのより良いものです。A 簡単な 実生活の例をご利用の場合 GWT MVP実施, のコンポーネント/ウィジェットのごGWTの応用も緩く結合しない緊密に統合します。

他のヒント

もしかしたら行くべき時間内に戻って見の問題Guiceた。を理解する背景Guice、 Bobリー:まい泉 ニュースTheServerSide.COM (およびそのコメント)に最適です。その後、決算発表時に公表する予定 Google Guice、Java依存性を注入の枠組み (コメント) テックトーク:BobイGoogle Guice (コメント).

個人として共有した懸念が悪XML:XMLの設定では、XML、実行時エラー、エラーが発生しやすいよびリファクタリングを避けてきた文字列識別子などがあります。実は、私は懐疑的な意見春賛同を得たのもなかなか良かった(泉)私はこのように見られるのが楽しみで新しいプレイヤーの枠組みの景観が、特に近代の枠組みを活用したJava5つの特徴(ジェネリックやアノテーションのための型安全性)

だからGoogleではGuiceミッションの重要なアプリケーション(ほぼすべてのJavaによるアプリケーションもGuiceベース申し込み: AdWords, Googleドキュメント、Gmail、YouTubeなどの報告による"Crazy"Bob ー Guice2いにすることが可能でGuiceが間違っていませんを提供する。しかし残念ないと思いGoogleを提供しまいコードのこれらの応用例として...が示す興味深いことに リストを利用したアプリケーションGuice よび/または リストの第3者Guiceアドオン.又はチェックアウトの書籍に記 Guice2.またはBob:)

私は利点はインタフェース、テスト、およびプロキシにコーディングが付属していますだと思います。

インターフェイスにコーディングすることが可能にテスト用モックを注入することができ、あなたのコードが適切に層状に保つことができますし、クライアントコードが実装を心配する必要はありません自動的ので、あなたがプロキシを生成できます。

これはGuiceの、春、PicoContainer、およびすべてのDIフレームワークに当てはまります。

十分簡潔?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top