MVC3 IOC适用于Ninject的初学者

时间:2013-09-18 23:25:29

标签: asp.net asp.net-mvc asp.net-mvc-3 inversion-of-control ninject

我正在尝试第一次实习,其中一项技能是ASP.Net。他们说我需要带一些代码,所以我去了微软的MVC3教程(http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3

我在应用程序周围改变了一下,以适应他们的规格,他们很好。

现在他们已经让我设计一个可以提供IOC的界面。我对这个话题完全不熟悉,并且想知道是否有人知道一些关于IOC与MVC的好初学者指南或提示。我可能会使用ninject。

如果您熟悉本教程中的“电影列表”应用,他们希望我设计一个界面,以确保MoviesController不会对数据库有所了解。

我知道这很模糊,但这几乎是他们给我的所有指示。有人对IOC newb有一些建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您会发现阅读Scott Allen的article有关将dbContext抽象为接口,然后阅读ninject wiki的MVC3部分以获得您的依赖项解析。

基本思想是,在构造dbContext时,将实现自定义接口的对象传递给dbContext,然后通过该对象/接口进行所有数据操作。

这样,当您想要测试控制器时,您可以传递一个虚拟对象,该对象返回您需要的任何数据,而无需创建充满测试数据的数据库。