所以我最近发现了关于依赖注入并阅读了很多关于利弊的内容,我很好奇,如果它在我的应用程序中使用它会“很好”,因为我找不到像我一样的例子那一刻。
我的应用程序目前100%基于Ajax请求,我的典型控制器如下所示:
public JsonResult Controller()
{
getStuff from the model
return JSON(info from controller)
}
对于这种情况,DI是一个不错的选择吗?或者这些好处(如果有的话)是无益的?
PS:我不知道这件事有多重要,但我只使用1个数据库。答案 0 :(得分:0)
如果您有一个具有多个依赖项的大型应用程序,那么DI是一个不错的选择。即使您的应用程序相对较小并且只需要注入数据库连接,这也可能是您进入DI的良好起点。
对于您提供的代码示例,假设您正在使用控制器注入并且需要数据库连接,那么您最终会得到类似的内容:
public class MyController
{
IDatabase database;
public MyController(IDatabase database)
{
this.database = database;
}
public JSONResult MyControllerMethod()
{
var myData = database.GetData();
return JSON(myData)
}
}
然后你需要配置你的DI容器,以便知道要为哪些接口注入哪些具体类 - 根据你使用的框架,这会略有不同。
鉴于您没有太多的使用经验,请记住,当您了解它时,会有一些学习曲线。我假设您正在使用WebAPI进行AJAX调用,在这种情况下,此页面是一个很好的资源,可以帮助您入门 - http://www.asp.net/web-api/overview/advanced/dependency-injection