私の意見では、現代の依存性注入フレームワークの多くは、アプリケーションアーキテクチャのホワイトボードパターンの実装であり、多かれ少なかれです。特にGoogle Guiceでは、作成したオブジェクトにさまざまな方法で注釈を付ける(@Named注釈を使用した名前を含む)ことにより、「インジェクター」(またはホワイトボード)からオブジェクトの特定のインスタンスを取得できます。 。また、異なるモジュールがインジェクター(ホワイトボード)にサービスを提供する際に協力することもできます。
Springも同様です。たとえば、各コンテキストXMLファイルは、Springコンテキスト(ホワイトボード)のオブジェクトに貢献して使用できます。
OSGiとそのサービスレジストリは、ホワイトボード実装の別の例です。OSGiベースのシステムでのイベント処理の制御の反転のために、OSGiがホワイトボードパターンを使用およびサポートする方法について説明します。
Springの動的モジュール、OSGi、ホワイトボードパターン(51ページ)の関係に関するチュートリアルペーパーを次に示します。
私の経験では、特にGuiceは、ホワイトボードパターンの独自の実装をサポートするためにも非常に強力です。ほとんどのオブジェクトがGuice Injector(ホワイトボード)から注入される場合、特定のクラスに必要な他のホワイトボードを簡単に注入できます。したがって、Guiceアプリケーションアーキテクチャホワイトボードを使用して、特定のホワイトボード(ドメインに関する情報を含むホワイトボードなど)をブートストラップできます。(Spring、OSGi、または他の多くでも同様のことができますが、直接ではありません)。