0

プレゼンテーション レイヤー (PL)、ビジネス ロジック レイヤー (BLL)、データ アクセス レイヤー (DAL) の 3 層アーキテクチャを構築しています。

次のように、3 つの異なる物理プロジェクトに実装したいと考えています。

  • PL プロジェクト -> BLL Dll のリファレンス
  • BLL プロジェクト -> DAL のリファレンス
  • Dll DAL プロジェクト -> 参照なし

インターフェイスを定義し、コンストラクター インジェクションを介して DI を使用することで、BLL と DAL の間に IOC の概念を適用すると、次のようにアーキテクチャが変更されます。

  • PL プロジェクト -> BLL DLL の参照、DAL DLL の参照 (BLL オブジェクトのコンストラクタへの具象型の DI 用)
  • BLL プロジェクト -> DAL のリファレンス
  • DAL プロジェクト -> 参照なし

理想的には、DI で IOC を維持しながら、次のことを達成したいと考えています。

  • PL プロジェクト -> BLL Dll のリファレンス
  • BLL プロジェクト -> Dll Dll のリファレンス
  • DAL プロジェクト -> 参照なし

それはどのように可能ですか?

注 : IOC コンテナーは使用したくありません。

4

1 に答える 1

0

DI のブートストラップを 2 つの部分に分割できます。PL プロジェクトで最初に行われたのは、BL でインターフェイスを実装し、PL によって消費されるオブジェクトの IOC 構成をセットアップすることでした。BL プロジェクトで書かれた 2 番目の部分は、DAL でインターフェイスを実装し、BL によって消費されるオブジェクトの IOC 構成をセットアップします。次に、PL プロジェクトのセットアップ ブートストラップで BL プロジェクトのブートストラップを呼び出し、独自の構成を行う必要があります。このようにすれば、PL で DAL を参照する必要はありません。

于 2012-11-26T10:13:42.940 に答える