【发布时间】:2012-02-13 19:51:00
【问题描述】:
我面临着与本问题中提到的相同的困境。
Repository Pattern in Layered Architecture
依赖注入是继续前进的方式吗? 这个 Patterns 适合 ASP.Net MVC 类型的框架吗?
我想知道业界如何在 3 层架构中实施存储库模式。
问候
【问题讨论】:
标签: asp.net architecture design-patterns
我面临着与本问题中提到的相同的困境。
Repository Pattern in Layered Architecture
依赖注入是继续前进的方式吗? 这个 Patterns 适合 ASP.Net MVC 类型的框架吗?
我想知道业界如何在 3 层架构中实施存储库模式。
问候
【问题讨论】:
标签: asp.net architecture design-patterns
你刚才提到的问题已经给出了答案。你真的不需要在你的代码中直接引用 DAL,而不是这个你应该使用 IoC。这样,您可以轻松地分离层之间的依赖关系。并且使用 IoC 还可以对您的 BLL 存储库方法进行单元测试。
问:依赖注入是继续前进的方式吗?这个 Patterns 适合 ASP.Net MVC 类型的框架吗?
A:Repository Pattern 适用于 MVC。将存储库模式与 IoC/依赖注入一起使用的主要优点是分离关注层并使您的类可单元测试。
问:我想知道业界如何在 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>();
【讨论】: