開始
對於MVC的概念吵的火熱,MS的MVC架構也是關注的熱點。而在我的印象裡,MVC應該和WINFORM編程相關,而且是通過事件機制來完成,特別是觀察者模式的運用。後來查了查,發現JAVA社區很早就使用這方面的東西。因為NVelocity的原因,我接觸MonoRail。本來是想解決應用系統模板化的問題,結果確殺出一個MonoRail。研究下來發現還是有實際意義,寫了下面的一些內容。沒有寫關於MonoRail的分析、理論上的內容(這方面可以在文章最後的參考找到),更多的是從實踐應用的角度去看待MonoRail的使用。
實踐
MonoRail MVC應用-VM/HTML頁面
MonoRail MVC應用-構建多層結構的應用程式
MonoRail MVC應用-母板頁的Title
MonoRail MVC應用-母板頁的內容地區
MonoRail MVC應用-FormHelper&HtmlHelper
MonoRail MVC應用-HTML控制項的使用
MonoRail MVC應用-CRUD操作
MonoRail MVC應用-自訂VM函數
MonoRail MVC應用-WebControl控制項的使用
MonoRail MVC應用-錯誤處理機制
MonoRail MVC應用-翻頁如何使用
MonoRail MVC應用-DataSet的使用
MonoRail MVC應用-調試
後記
研究MonoRail目的,其實還想解決下面2問題:
- Web項目的DLL的大。即使我們盡量分層,盡量使用WebControl,但實際開發中的確還是會有這個問題,Web的DLL大,上傳的維護就很困難。如果是MVC,Web層就只有HTML代碼了。
- 前後端人員的配合問題。從目前的感覺來說ASP這類動態語言,前後段的配合模式比目前的方式肯定要好。但對於程式員的開發來說,我可不願意回到ASP年代。是否MVC的方式是平衡兩者的改進呢?至少我覺的MVC這個V應該就是HTML了。
對於上面兩點,MVC在.NET靜態語言上的實現,還是無法改變需要編譯的現實。也就是說一旦MVC中的C需要變化,或是提供新功能、特性。DLL還是要傳。只能說MVC的方式可以改進我們的結構,但沒辦法根本解決一些問題。
DEMO下載
參考:
MonoRail官方的DOC
firstyi的MonoRail