【发布时间】:2014-02-16 23:23:58
【问题描述】:
标题确实说明了一切。我有一些根本不使用存储库的 Action 方法,例如仅显示静态页面的 Index() 方法。
public ActionResult Index()
{
return View();
}
在我看来,在这些情况下,在控制器中实例化存储库是浪费时间......但对于 IoC,我想提交一个接口,因此必须在控制器中进行:
public PerfMvcController(IPerfRepository repo)
{
repo = repo ?? new PerfRepository();
}
简而言之,我会对使用 IoC 在控制器中实例化存储库的最佳实践感兴趣。
【问题讨论】:
-
看看 Lazy
msdn.microsoft.com/en-us/library/dd642331(v=vs.110).aspx ... Unity 等一些 DI 框架开箱即用地支持它。 -
这可能是一种浪费,但 repos 不应该很重,围绕它进行设计可能会更加浪费。
标签: c# asp.net-mvc controller repository inversion-of-control