使用ASP.NET MVC控制器注入(IoC)有什么好处?
答案 0 :(得分:5)
如果有帮助的话,我就此做了一个视频: http://www.asp.net/learn/mvc-videos/video-366.aspx
IoC的想法是你的控制器中没有声明依赖关系 - 只有接口。这允许高度重复使用。
从会员资格的角度考虑 - 您可能拥有一个您非常喜欢的AccountController,并希望随身携带。通常你可以使用Linq to Sql,但是在这个新项目中你想要使用SubSonic或NHib。如果你使用IoC,你需要在AccountController中更改 no 代码 - 你只需要实现你的新界面。
答案 1 :(得分:1)
从应用于MVC控制器的依赖注入获得的一般优点几乎相同。
答案 2 :(得分:0)
与使用IoC的任何其他地方一样,通常由Controller的构造函数注入依赖项服务将使您能够在注入的同一接口的不同实现之间切换。但这不是很常见的情况。对我而言,这给您带来的最大好处是使用Mocking框架对您的控制器进行单元测试。通过这种方式,您可以在测试中将服务的依赖性与控制器实际执行的内容隔离开来。