MonoRail MVC应用(2)-构建多层结构的应用程序
習慣了分層結構的.NET開發了,當然也是分層有優勢,所以在使用MonoRail進行網站構建時,首先考慮到的問題就是MonoRail如何應對分層的結構。
問題1:MonoRail在WEB層沒有根目錄,必須有一個Views的目錄
MonoRail MVC沒有根目錄的結構,也就是只能訪問一個二級目錄,如http://www.pumaboyd.com/Views\/*,然后其他所有內容都在Views這個目錄下面。起初我認為這是一個很嚴重的問題,這樣的限制很約束。后來在firstyi文章介紹可以配置到根目錄,這才有信心繼續看下去。其實到最后你會發現,通過Routing 就可以解決這個問題了。而且我還是覺的Routing的方式最好。
你還可以更改默認的Views目錄,可以通過WebConfig配置
<viewEngine viewPathRoot=”WAP3″ customEngine=”Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity”/>
這樣默認的目錄就變成WAP3了。
問題2:Controller所對應的CS文件。
如果是默認,那么他將在Controllers目錄中,而這是我很不希望看到的。這樣整個Web層,又有了DLL。所以我們需要配置到單獨一層(一個獨立的項目中)
添加獨立項目,WebConfig中類似配置
<assembly>WebHome.Control</assembly>
而且支持多個Controller的。具體看你的項目運用了,如果需要可以切分的更細。
<assembly>WebHome.Control</assembly>
<assembly>WebHome.Control1</assembly> <assembly>WebHome.Control2</assembly>至于剩下的Service、BLL、DAC層都和原有的結構變化不大。其實感覺到最后就是將目前的WEB層拆分為V和C
DEMO圖(圖片在結構的表現力上總是優于文字。)
- WebHome 就是頁面了,也就是MVC的V
- Controls就是是頁面的顯示控制類了,也就是MVC的C
- Service&DAC 就是具體頁面邏輯和數據訪問層(是否是MVC的M我覺的不太合適,我感覺我在淡化M的概念)
- Component 就是頁面的一些組件,這個就相當于WebControl
轉載于:https://www.cnblogs.com/B-bowen/p/3837956.html
總結
以上是生活随笔為你收集整理的MonoRail MVC应用(2)-构建多层结构的应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。