我面临着与本课题中提到的相同的困境。
Repository Pattern in Layered Architecture
依赖注入是继续前进的方式吗? 这种模式适用于ASP.Net MVC类型框架吗?
我想知道业界如何在3层体系结构中实现存储库模式。
此致
答案 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>();