由于考試系統要用到MVC模式來設計,所以這次通過1些視頻和網上的博客對其做了1些了解與學習,下面是1些學習的收獲和感受。
Ps:原來寫文章是歷來也不寫提綱的,現在通過不斷的設計訓練和代碼注釋的影響,沒提綱就寫不下去了……
言歸正傳,MVC作為1種軟件設計模式,它用1種業務邏輯、數據和界面顯示相互分離的方法組織代碼。將業務邏輯單獨封裝,使得在界面及與用戶交互的情勢改變時不影響到邏輯。
1、 模式簡介
MVC是1種創建Web利用程序的模式,其中:
Model(模型)是指要處理的業務代碼和數據操作代碼;
View (視圖)顯示數據,指的是界面及與用戶進行交互的部份,視圖通常根據Model創建;
Controller(控制器)處理輸入,可以看作Model和View的橋梁。它從視圖中讀取數據,控制用戶輸入,并向 模型發送數據。
2、 模式圖(來自baidu.baike)
說明:View通過人機交互將用戶輸入的指令和數據傳遞給Controller,Controller將其送至Model進行業務判斷和數據存取等處理,然后Controller再根據業務邏輯選擇不同的視圖進行響應,最后將結果反饋給用戶。
3、 與webFrom比較
對MVC與WebForm體會還不深入,孰優孰劣也不敢妄加評論,具體如何還是大家在實踐中去體會吧。
先看看上邊兩張圖,以后還會對MVC作進1步的分析。
4、 與經典3層的比較
3層架構分為UI界面層、BLL業務邏輯層、DAL數據訪問層,它一樣做到了界面、業務邏輯和數據的分離。
從解耦的角度看,MVC和3層架構都實現了很好的效果。都有助于管理復雜的利用程序和分組開發,由于我們可以在1個時間內專門關注1個方面。例如,可以在不依賴業務邏輯的情況下專注于界面/視圖設計。同時也讓利用程序的測試更加容易。
區分:1、3層里的UI相當于MVC里的V+C;BLL層+DAL層相當于MVC里的M。
2、側重點不1樣,3層是1種笼統的架構思想,沒有限制具體的設計;而mvc就比較具體的說明它的設計方法。
3層是從全部利用程序架構的角度來分的,是為了解決全部利用程序中各個業務操作進程中不同階段的代 碼封裝的問題,為了使程序員更加專注的處理某階段的業務邏輯。
MVC是在利用程序(BS結構)的視圖層劃分出來的不同功能的幾個模塊。主要是為了解決利用程序用戶界面的樣式替換問題,把展現數據的HTML 頁面盡量的和業務代碼分離。
總結:對大中型項目MVC在開發效力上更快,但對1些小項目WebForm從經濟和時間上更加適合。架構方面,MVC和3層也其實不是排擠的,相反,它們具有很緊密的聯系。總之,MVC有著廣闊的發展前景,在J2EE上的火熱程度也見證了它的時期適應性。
初識MVC,還望大家多多指點。
上一篇 寫個簡單的飛機游戲玩玩