2
A
回答
5
您將爲其他應用程序實現接口的相同原因...將實現從實際使用中抽象出來。
它允許ASP.NET MVC框架使用您的代碼,即使Microsoft開發人員在編寫框架之前沒有實現您的實現。
此外,就像tvanfosson提到的那樣...接口的使用也極大地增強了ASP.NET MVC團隊正確單元測試其框架的能力。
+0
我認爲這是一個很好的解釋。基本上,你可以確定事情是分開的。它有助於保持代碼的不間斷分離,但對於將代碼綁定在一起也很有用,所以您不會重複。但是,當人們重複使用接口時,他們知道如何實現它,以便所有內容都可以使用相同的語言。 – Layke 2010-02-19 17:13:07
2
我認爲你在MVC應用程序中看到更多接口的主要原因是對可測試性的新的強調。這是MVC的重大變化之一,可測試性在框架設計中被賦予更多的權重。在設計單元測試時,接口更容易使用,因爲它們允許您開發模擬實現以供測試使用。隨着時間的推移,我會期待很多.NET(如Web.Abstractions)轉移到更多可測試(抽象基類/接口)形式。
相關問題
- 1. 爲什麼JPA中有這麼多接口?
- 2. 爲什麼有這麼幾個開源的GWT應用程序?
- 3. 爲什麼我的應用程序有這麼多的頁面錯誤?
- 4. 應用程序窗口[爲什麼]
- 5. 這個程序爲什麼佔用這麼多內存?
- 6. 爲什麼perldoc中有這麼多ESC?
- 7. 爲什麼.NET爲我的應用程序保留這麼多內存?
- 8. 爲什麼我應該在Java中使用這種接口?
- 9. 爲什麼[WCF]有接口
- 10. 爲什麼這麼多符號鏈接?
- 11. 我的@implementation中有@接口 - 爲什麼?
- 12. 爲什麼tomcat沒有運行Spring MVC Web應用程序?
- 13. 這個程序爲什麼有效?
- 14. 爲什麼我需要這個多線程應用程序中的Singleton模式?
- 15. System.Collections - 爲什麼有這麼多選項?
- 16. ARM模式,爲什麼有這麼多?
- 17. 爲什麼會有這麼多空間?
- 18. 爲什麼Delphi應用程序有多個線程?
- 19. 這個接口有什麼問題?
- 20. 爲什麼接口或抽象類有用? (或爲什麼?)
- 21. 爲什麼我的Go應用程序沒有靜態鏈接?
- 22. 爲什麼這個Qt應用程序在應用程序菜單中有多個條目?
- 23. 爲什麼這麼多canOpenURL?
- 24. 爲什麼Java中沒有「Equlable」接口?
- 25. 這是什麼應用程序?
- 26. 什麼是多線程應用程序?
- 27. 爲什麼在這個代碼中有那麼多「\」......它有什麼用法..?
- 28. 爲什麼EditorFor在ASP.NET MVC 2應用程序中拋出ArgumentNullException?
- 29. 什麼應該是ASP.NET中的MVC應用程序的結構?
- 30. 爲什麼Atom使用這麼多不同的鏈接關係?
我認爲你的問題會受益於一些例子 – 2010-02-19 17:13:07