0

オブジェクト x には依存関係があることを読み続けています。悪いと言う人もいれば、状況によっては大丈夫という人もいますが、そもそも意味がわかりません。これを見た:

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

しかし、そもそも依存関係の概念を理解していませんでした。そのタグは実際には適切な定義を提供しましたが、例を期待していました.

4

2 に答える 2

1

依存性注入について話すとき、私は通常、オブジェクトではなくクラスに依存性があると言います。

クラスが存在する必要があり、特定の方法で機能する可能性がある場合、クラスはクラスAに依存しています。たとえば、 classに への呼び出しがある場合、それは class に依存しています。クラスがなくなったり変更されたりすると、クラスが壊れる可能性があります。BBAnew B()BBA

一部の言語では、クラスが代わりに依存できるようにすることで、依存関係を壊すことができますinterfaceI代わりに interface とBimplementsに依存している場合I、 B はなくなり、Cこれも implementsIに置き換えることができA、まったく変更する必要はありません。ここでの例として、オペレーティング システムのドライバーを使用できます。ディスクを交換すると、「ディスク ドライブ」インターフェイスを実装する新しいドライバーを取得できますが、オペレーティング システムは、知らないうちに同じ方法でディスクと通信します。正確にどのタイプのディスクであるか。

依存性注入とは、クラスではなくインターフェイスに依存できるようにすることです。基本的にはnew B()、実装するオブジェクトが必要であると宣言するだけIで、適切な実装が注入されます。あなたのクラスは、そのクラスまたは存在するAという考えを持っている必要はありません。BC

于 2012-08-29T21:25:34.963 に答える
1

「依存関係」は、コンテキストに応じて (しゃれた意図で) さまざまなことを意味します ;)

この場合、それは実際には「仕事を成し遂げるために、(おそらく多くの)特定の「オブジェクト」が必要か?」という意味です。

たとえば、コンポーネントには「印刷」するものが必要です。依存関係は「印刷」ですが、要求されたオブジェクトは、HP Laserjet 9200、Oki ドット マトリックス、または .pdf ファイルに印刷できます。

別の言い方をすれば、ここで「依存関係」を「プラグイン」という言葉に置き換えても、同じ意味を保つことができます。

「それが役立つことを願っています..

于 2012-08-29T21:18:32.207 に答える