4

現在、ASP.NET MVC の使用を開始するために、複数のチュートリアル (および本を読んでいる) を閲覧しています。

ninject (または同様のもの) が依存性注入を実装するために広く使用されていることがわかります。ここでの主な問題は、必要なクラスからのリソース割り当てであると理解しました。

たとえば、repo オブジェクトのインスタンスが 1 つしかないことを確認したいと考えています。

最初に最初に学ぶ必要があるので、DI 手法を使用せずに ASP.NET MVC を作成し、オブジェクト リソースに関する限り正しい方法を知ることに興味があります。

より詳しい情報:

私はいくつかのwinformsアプリケーションを作成しました。Business Layer DLL (BLL) を使用するこれらのアプリ。この BLL は、私の DAL DLL (プレーン ADO.NET) にアクセスできました。彼らはかなりうまくいっています..

いいえ、同じ BLL を MVC アプリに使用したいと考えています。

注射の有無は?

インジェクションの実装なし?

コントローラー コンストラクターで BLL オブジェクトを作成するだけですか?

4

2 に答える 2

3

ASP.NET MVC では、依存性注入を使用する必要はまったくありません。すべてのコントローラーにデフォルトのコンストラクターがある場合、完全に正常に機能します。一方、オブジェクトの作成とその有効期間の管理は、あなたが担当します。アプリケーションに 1 つのリポジトリ オブジェクトが必要な場合は、そのライフサイクルを手動で実装する必要があります (静的変数またはシングルトン パターンを使用)。

テストに関心がある場合は、依存性注入を使用すると、よりテスト可能で再利用可能なオブジェクトを設計するのに確実に役立ちます。依存関係をテスト コード内のテスト ダブルに簡単に置き換えて、DI コンテナーがランタイムに実際の実装を挿入できるようにすることができます。

使用しないことが確実な場合は、すべてのコントローラーにデフォルトのコンストラクターがあることを確認してください。設定は必要ありません。

于 2013-08-27T12:37:04.963 に答える