2

DIとIoCの簡単な例を教えてください。
私は最初のものを理解していますが、2番目のものの実装を得ることができませんでした。MVC 3での依存性注入による制御の反転の学習

MVC 3と私は実際にIDependencyResolverを使用したいと思いますが、私は理解できません。

ninjectはオプションですか?必須ですか?

nerdDinnerのようなチュートリアルはありますか?それを見つけることができませんでしたか?

誰かが私にそれを勉強するためのリンクを与えることができますか?

答えて

9

現実世界のDIとそのパターンと反パターンをすばやく突き止めるために、私はDI in .NETを取得することをお勧めします。 (私はすでにそれを注文しました編集:それは私に多くを教えて、すべての経験レベルの人々によく教えてくださいページターナーでした)

それを失敗すると、すべてを読むMark Seemannhigh-rated posts hereを読んでください。

私は個人的にninject wiki から学びましたが、優れていますが、Ninject 1.0特有の です。

+2

+1 Mark Seemannの記事を読むと、本当に助かりました。 –

+0

これを見て、簡単な例を検索する人には、[下記]を読んでください(http://stackoverflow.com/questions/4900398/learning-inversion-of-control-through-dependency-injection-in-mvc-3/4901434#4901434)。 –

+1

@Sam Holder:彼の[Zero friction blog series](http://blog.ploeh.dk/2009/01/28/ZeroFrictionTDD.aspx)とそれが産んだAutoFixtureライブラリは非常に洞察力がありますものも。 –

0

私はasp関連のテクニックについては答えられませんが、学問的側面では、あなたがDIを使用しているという事実は、あなたがコントロールを裏返していることを意味します。

私はそれを明示します。でない場合は、逆制御では、アプリケーションのさまざまなコンポーネントを基本的に自分の依存関係を解決します。コントロールを反転すると、他のレイヤーで依存関係が解決されるようになります。それがコントロールの「逆転」です。

4

これは私の例ではありませんが、私は単純で機能的な例を探していました。それはNInjectと.NET MVC 3

http://www.shahnawazk.com/2010/12/dependency-injection-in-aspnet-mvc-3.html

記事の下部に簡単なダウンロードサンプルプロジェクトの最終のIoC機能を使用しています。

+0

+1私よりも直接的な答えです。 1年9ヶ月で2つのアップフォートを管理した後、OPにできることを期待していますが、10の質問でこれにもう1つ追加することができます。 –

+1

+1すばらしい例。私にアップ/ダウン投票の機会を思い出させてくれてありがとう、私は今からもっと頻繁に使うだろう。 –

6

IDependencyResolverを使用しないでください。 Inversion of Controlとは何の関係もなく、根本的に壊れています。 MVC 3でIoCコンテナを正しく使用する方法を知りたい場合は、this tutorial(Windsorを使用)を参照してください。