-2

Unity/Dependency Injection の概念は初めてです。

私の理解では、密結合のクラス構造を避けるために DI を使用していますが、その利点を理解するのに苦労しています。

このリンクの「The Unity Container」セクションに従いましたhttp://www.refactorthis.net/post/2012/10/25/Dependency-Injection-and-Inversion-of-Control-Ioc-With-the-Microsoft-Unity -Container.aspxですが、なぜこれが「より良い」のかわかりません。さらに多くのコードが導入されますが、LoggingModule.cs 内には次のコード行が必要です。

_iocContainer.RegisterType(typeof(ILogger), typeof(DBLogger));

まだ依存関係があることを意味しますが、私はそれを人里離れた場所に移動しました。使用したいクラスを Unity に伝える必要があります

この質問はおそらく非建設的なものとしてマークされますが、Unity/DI の利点と正しい使用方法について教えていただきたいです。

ありがとう、アンドリュー

4

1 に答える 1

1

利点は、サービスが抽象化 ( ) に依存するようにILoggerなり、抽象化の解決がコンテナーの責任になることです。さらに、依存関係の宣言、使用するコンクリション、およびその有効期間は、コンポジション ルート (コンテナー内の依存関係を登録する場所) に集中しています。

依存性注入に関する良い本を読むことをお勧めします。そこにはいくつかあります。

于 2013-08-20T08:38:04.750 に答える