web-dev-qa-db-ja.com

依存性注入とは何ですか?

可能性のある複製:
依存性注入とは

Springは、Dependency Injectionの概念が描かれたフレームワークです。

DIの目的は何ですか?どのようなメリットがありますか?どのように実装されていますか?

61
user284291
69
Zaki

DIの目的は何ですか?

依存性注入の目的は、アプリケーションの結合を減らして、より柔軟で簡単にテストできるようにすることです。

どのようなメリットがありますか?

オブジェクトには、ハードコードされた依存関係はありません。依存関係の実装を変更する必要がある場合、行う必要があるのは、異なるタイプのオブジェクトを挿入することだけです。

実装方法

依存性注入にはさまざまな方法があります。 Wikipediaの記事 をチェックして、それぞれの例を参照してください。それらを理解したら、さまざまなDependency Injectionフレームワークの調査を開始できます。

24
Justin Niessner

非常に短い、

DIの目的は何ですか?依存性注入では、オブジェクトは依存性自体を定義せず、必要に応じて依存性がオブジェクトに注入されます。

どのようにメリットがありますか?オブジェクトは、依存関係を取得する場所と方法を知る必要がないため、オブジェクト間の疎結合が発生し、テストがはるかに容易になります。

実装方法通常、コンテナは、構成ファイルまたは注釈に基づいてオブジェクトのライフサイクルとその依存関係を管理します。

12
nkr1pt
6
pdbartlett

DIにより、コンポーネントを交換し、テスト容易性を改善し、コンポーネントが疎結合されていることを確認できます。 DIでは、Windsor Castle、Unity、Spring.net、MEFなどのDIコンテナを使用して実行時に依存関係を解決できるため、アプリケーションを拡張できます。

1
TrustyCoder
0
PaulJWilliams