2015-09-26 34 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