2012-09-30 44 views

回答

5

它允許在控制器和其他組件中實現依賴注入。布拉德威爾遜寫了一個關於它的nice article。例如,當你實現一個自定義依賴解析器是能夠返回正確的實現對於給定的類型,你可以有你的ASP.NET MVC控制器採取抽象的依賴或接口構造函數的參數的:如果你寫了一個

public class HomeController: Controller 
{ 
    private readonly ISomeService _someService; 
    public class HomeController(ISomeService someService) 
    { 
     _someService = someService; 
    } 

    ... some actions 
} 

自定義依賴關係解析時,它將能夠在實例化控制器時注入適當的接口實現。

依賴注入允許在應用程序的不同層之間進行較弱的耦合,並使它們更容易單獨進行單元測試。