私たちはコードを分離して、このGuiceを見つけようとしています。それは最善の選択と思われます。私はそれを使用していない。Google Guiceを既存のJava Swingコード(約15k)で使用できますか?
疑問に思うのは、既存の生産コードで15k行を使用できますか?私はこれを達成するためにどれだけの努力を必要としているのでしょうか?それは正しい方法ですか? GUICEでコードベース全体を書く必要があります。
私たちはコードを分離して、このGuiceを見つけようとしています。それは最善の選択と思われます。私はそれを使用していない。Google Guiceを既存のJava Swingコード(約15k)で使用できますか?
疑問に思うのは、既存の生産コードで15k行を使用できますか?私はこれを達成するためにどれだけの努力を必要としているのでしょうか?それは正しい方法ですか? GUICEでコードベース全体を書く必要があります。
したがって、依存性注入を導入したいですか?はいGuiceは、まずは軽量なコンテナです。まず、DIを使用して最も利益を得ようとしている場所を特定します(デカップリングに関する懸念があるようです)。あなたのコード行は無関係です。
Guice/DIの小さなビットを一度に紹介するのは良い考えです(私はTDDアプローチを使用します)、コンストラクタ/セッタ注入は最も簡単に開始できます。
コードに依存性注入を正しく使用した場合、プロジェクトにguiceを導入するのは簡単です。コード全体にシングルトンを使用している場合は、少しリメイクする必要があります。 そのコードはguiceライブラリのものに依存しないことに注意してください。
1年前、私はプロジェクトがすでに大きな複合体であり、シングルトンなどの静的な参照を含んでいたときにguiceを導入しましたが、とにかくそれを変更するのは難しくありませんでした。
はい、可能です。書き換えを行う必要はありません。このツールを導入し、注射で直接的な参照を少し置き換えて、それがどのように機能し、継続するかを見てください。しばらくすると、自信を得てコンストラクタコールのほとんどをGuiceの注射に置き換えます。
あなたのコードがどれほど良いかによって異なります。 うまく設計されていれば、たとえば論理モジュールがあり、すべての実装には明確なインタフェースがあり、オブジェクトを作成するためにファクトリを使用する方が簡単です。
とにかく、モジュールごとにアプリケーションをリファクタリングする、段階的アプローチをお勧めします。