
7.3
プラグインの接続
233
すべてのモジュールが自動的にインスタンス化され接続されます。
7.2.4.3
DI
コンテナの長所と短所
DI
コンテナは登録されるモジュールが
DI
パターンを使っていることを前提としていますから、長所
と短所も引き継いでいます。具体的に言えば、結合度を低下させテスト可能性を向上させましたが、
その一方で複雑さは増しました。依存関係が実行時に解決されるからです。
DI
コンテナはサービス
ロケータパターンと多くの性質を共有していますが、実際に依存するもの以外の余計なサービスにモ
ジュールを依存させないという事実を利点としてもっています。これは大きな利点で、各モジュールは
DI
コンテナなしでも、単に手作業で注入を行いさえすれば利用できるのです。
それがこの節で示したことの本質でもあります。元来の
DI
パターンを使った認証サーバの旧版を使
い、(モジュール
app
を除いた)コンポーネントの変更なしに、すべての依存関係の注入を自動化でき
たのです。
npm
で、再利用可能な
DI
コンテナが多数見つかります。コードを見ることで新たなア
イ デ ア も 浮 か ぶ で し ょ う
−
https://www.npmjs.org/search?q=dependency%20
injection
7.3
プラグインの接続
ソフトウェアエンジニアにとって夢のようなアーキテクチャといえば、小さな最小限のコアをもち、
プラグインを使って必要に応じて自由に拡張できるものでしょう。残念ながら、これは容易に得られる
とは限 ...