IOC コンテナーを使用する際に注意すべきこと (落とし穴) は何ですか?
5 に答える
IoC コンテナーへの静的ラッパーが xyz 型のインスタンスを提供する Service Locator パターンに陥りすぎないようにします。必要になる場合もありますが、依存関係を消費する型に確実に注入することで、コードがよりクリーンに保たれ、コンテナーの邪魔にならなくなります。
Spring AOPを使用する場合、多くの魔法が発生し、何かが正しく機能しない場合、何が問題なのかを理解するのは非常に困難です。
構成の複雑さ。
さまざまな XML ファイルとセットアップで得られる複雑さは、対処する問題に見合うだけの価値があることに注意してください。1 つの例 - Apache HiveMind では、クラス インスタンスを相互にバインドし、構成情報を渡す構成は、同等の Java が必要とするよりも、保守、読み取り、および理解が簡単に難しくなる可能性があります。
適切なタイミングで適切なものを破棄しないと、メモリ リークが発生します。
私の経験では、トラブルシューティングは難しい場合があります。インターフェイスに対して作業しているだけでなく、コードを見て使用されているインスタンスの実際の型を特定するのが難しい場合があります。また、コンパイル時から実行時まで多くの配線を移動します (もちろん、これは IoC のポイントの 1 つですが、問題を発見するのに不思議なことはありません)。