存储库模式和3层体系结构

时间:2012-01-19 04:59:35

标签: asp.net architecture design-patterns

我面临着与本课题中提到的相同的困境。

Repository Pattern in Layered Architecture

依赖注入是继续前进的方式吗? 这种模式适用于ASP.Net MVC类型框架吗?

我想知道业界如何在3层体系结构中实现存储库模式。

此致

1 个答案:

答案 0 :(得分:1)

您刚才提到的问题中有答案。你真的不需要在代码中直接引用DAL,而不是你应该使用IoC。这样,您可以轻松地分离图层之间的依赖关系。并且使用IoC还可以使您对BLL存储库方法进行单元测试。

问:依赖注入是继续前进的方式吗?这种模式适用于ASP.Net MVC类型框架吗?

答:存储库模式适用于MVC。使用IoC / Dependency Injection的存储库模式的主要优点是分离关注层并使您的类可单元测试。

问:我想知道业界如何在3层体系结构中实现存储库模式。

答:正如你提到的另一个问题所述。 Repository Pattern in Layered Architecture。您可以尝试在业务逻辑层中实现存储库模式。在表示层中,您可以使用IoC来设置类及其依赖项。

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

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

这是你可以在global.ascx

中设置IoC的方法
        ServiceLocator.IoC.RegisterType<ICampusRepository, CampusRepository>();
        ServiceLocator.IoC.RegisterType<IReasonRepository,ReasonRepository>();