2015-09-26 31 views
0

所以我最近发现了依赖注入,并阅读了很多关于优点和缺点,我很好奇,如果它在我的应用程序中使用它“很好”,因为我找不到这是我目前拥有的一个例子。在Ajax调用MVC 5中的依赖注入

我此刻的应用程序是基于Ajax的100%的要求我的典型的控制器是这样的:

public JsonResult Controller() 
{ 

    getStuff from the model 

    return JSON(info from controller) 

} 

DI是这种情况的一个很好的选择?或者是否是好处(如果有的话)?

PS:我不知道这件事多少,但我只使用1个数据库。

+0

使用DI与是否是ajax调用或正常提交无关。 –

+0

噢,那么使用它的真正优势是什么? – jiggergargle

+0

建议你需要做更多的研究来了解DI是什么。请参考[这个问题/答案](http://stackoverflow.com/questions/130794/what-is-dependency-injection) –

回答

0

如果您的应用程序具有多个依赖关系,那么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

+0

谢谢!我正在使用MVC5寿,我会检查,无论如何。我的Ajax调用来自Jquery。这会改变什么吗? – jiggergargle

+0

从DI的角度来看,来自AJAX的呼叫没有任何区别。从应用程序的角度来看,常规和AJAX调用都是HTTP请求,因此流经相同的管道等。希望这有助于! – timothyclifford