是否有一種將ASP.NET MVC的「模型」部分封裝爲可重用程序集的接受/期望的最佳實踐方法?將ASP.NET MVC模型封裝爲可重用的程序集
作爲技術練習,我想在不同的系統中使用相同的業務/持久層。例如,將相同的程序集編譯爲ASP.NET MVC應用程序和傳統的Windows服務。
我的想法是在一個單獨的程序集中實現我的模型(和EntityFramework/DbContext/etc)。然後,我的MVC項目將完全省略「Models」文件夾,而我的控制器將引用「模型組合件」中的代碼。我一直首選ViewModel作爲視圖的「目標」,因此我非常高興將所有視圖強制類型爲ViewModel對象而不是Model對象。
- 這是常用的方法嗎?
- 它違反ASP.NET MVC的「約定配置」原則嗎?
- 通過採用這種方法,我會失去具體的MVC好處嗎?
- 這種方法還有其他令人討厭的陷阱嗎?
我是一位合理舒適的ASP.NET,C#和Windows服務老手,但對於ASP.NET MVC來說卻很新手。道歉,如果這是一個重複的問題;大多數「可重用的MVC」問題都集中在UI組件上,而不是整個業務/持久性「層」。一如既往,先感謝您的見解!
希望得到多於一個人的樣本量。 ;)不過,我很高興聽到這聽起來像我在一個普遍接受的軌道上。謝謝! – mikemanne
有很多框架遵循這種模式 - 例如S#arpArchitecture。 –