我想製作一個mvc3應用程序,它是學生管理。 我見過一些開源項目。 他們使用了像核心,數據服務水稻這樣的解決方案結構。 有什麼理由使用這樣的結構?在mvc3應用程序中組織代碼的最佳實踐
2
A
回答
2
正如前面的答案所述,您應該將您的邏輯層分爲最低的BusinessLogic(實體,驗證等),Data(您最喜愛的ORM)和演示文稿(MVC)。
但是,如果您剛開始使用體系結構的所有更高級概念,可能會有點讓人望而生畏。
分離邏輯層並不總是意味着單獨的項目。標準的MVC3模板通過「Models」文件夾來演示。添加到此的任何實體將在名稱空間Myproject.Models下。之後,您可以將Models文件夾中的代碼重新分爲單獨的dll,添加引用,並且只要命名空間仍然是Myproject.Models,MVC應用程序將繼續工作。
對於您的數據訪問層可以做同樣的事情!
如果你剛開始,我會建議在MVC項目中開發你的應用程序,並用文件夾(命名空間)分隔你的DAL和業務層。一旦你的應用程序工作,你可以根據需要重新考慮因素。
3
通常將事情分開是一個不錯的主意。
由此我的意思是不混合業務邏輯與數據庫管理代碼,並在視圖文件中具有非UI代碼。
這使得其他人更容易理解您編寫的代碼。當你在一段時間後回到某個項目來進行改進或糾正錯誤時,我也會幫助你。
我希望這回答了你的問題,如果不是再次拍攝。
編輯:我發現這個link解釋了它是如何在MVC框架中完成的。
3
使用layered architecture您可以使用Separated Interface模式隔離每個圖層。對於數據庫,使用Repository pattern(最簡單的方法來歸檔,即使用ORM,如nhibernate)。
使用inversion of control container可以減少耦合(藉助接口),並且更容易處理類之間的依賴關係。
相關問題
- 1. 組織Android代碼的最佳實踐
- 2. 組織jQuery Mobile應用程序的最佳實踐是什麼?
- 3. 在代碼中組織SQL查詢的最佳實踐?
- 4. 組織課程 - 最佳實踐?
- 5. 軟件組織的最佳實踐
- 6. 最佳實踐:組織單元測試
- 7. Ajax文件組織最佳實踐
- 8. C項目組織最佳實踐
- 9. 代碼庫最佳實踐
- 10. openshift - php應用程序 - 最佳實踐
- 11. 在Phonegap應用程序中組織Javascript代碼的最佳方式
- 12. 將.NET P/Invoke代碼組織到Win32 API中的最佳實踐
- 13. 在AngularJS應用程序之間共享代碼的最佳實踐
- 14. 在.Net Web應用程序中使用datetime的最佳實踐
- 15. 在Angular2中組織api鏈接的最佳實踐
- 16. Nodejs代碼重用最佳實踐
- 17. 在OSGI應用程序中提供EntityManager的最佳實踐
- 18. 在iOS應用程序中存儲數據的最佳實踐?
- 19. 最佳實踐 - 你自己的項目/應用程序的NSError域和代碼
- 20. 最佳應用代表實踐
- 21. 在JavaScript最佳實踐中組織圖書館依賴關係
- 22. 組織Javascript代碼的最佳方法
- 23. 使用GIT的php項目組織的最佳實踐?
- 24. 組織從Ajax調用返回的JavaScript的最佳實踐
- 25. 最佳實踐:在Web應用程序中設置HTML類
- 26. 使用ASP.NET MVC進行項目組織的最佳實踐
- 27. 組織數百個組件的最佳實踐?
- 28. R代碼示例/最佳實踐
- 29. 彙編代碼標準/最佳實踐
- 30. Flash源代碼控制 - 最佳實踐