2012-01-19 21 views
2

私は、この質問で言及されているのと同じジレンマに直面しています。リポジトリパターンと3層アーキテクチャ

Repository Pattern in Layered Architecture

先に進むための方法依存性注入ですか? このパターンはASP.Net MVCタイプのフレームワークに適していますか?

業界が3層アーキテクチャでリポジトリパターンをどのように実装しているか知りたいと思います。

ありがとうございます。

答えて

1

上記の質問に答えがあります。コード内で直接DALを参照する必要はありませんが、IoCを使用する必要はありません。この方法で、レイヤ間の依存関係を簡単に分離できます。 IoCを使用することで、BLLリポジトリメソッドの単体テストを可能にすることもできます。

Q:Dependency Injectionは先に進む方法ですか?このパターンはASP.Net MVCタイプのフレームワークに適していますか?

A:リポジトリパターンはMVCに適しています。 IoC/Dependency Injectionでリポジトリパターンを使用する主な利点は、関心のあるレイヤーを分離し、クラス単位のテスト可能にすることです。

質問:業界で3層アーキテクチャでリポジトリパターンをどのように実装しているかを知りたいと思います。

A:あなたが言及した他の質問に記載されています。 Repository Pattern in Layered Architecture。ビジネスロジックレイヤーにリポジトリパターンを実装してみることができます。プレゼンテーション層では、IoCを使用してクラスとその依存関係を設定できます。

public static class ServiceLocator 
    { 
     public static readonly IUnityContainer IoC = new UnityContainer(); 

     static ServiceLocator() 
     { 
      IoC.RegisterInstance(IoC, new ContainerControlledLifetimeManager()); 
     } 
    } 

これは、私はのStructureMapを使用して問題を解決することができた方法をすることができますセットアップのIoC global.ascx

 ServiceLocator.IoC.RegisterType<ICampusRepository, CampusRepository>(); 
     ServiceLocator.IoC.RegisterType<IReasonRepository,ReasonRepository>(); 
+0

です。 ありがとうShoaib – jigsmshah

+0

StructureMapは同様に効果的です.. –

関連する問題