為什麼ui層要使用mvc模式?這跟普通的一個頁面,對應一個後台.CS文件有什麼區別?和好處?
其實樓主問到這個問題不好回答:
首先這個MVC就有點不好理解,先說廣義上的MVC:
這是一種開發模式:
M:Model(實體層)
V:View(視圖層)
C:Control(控制層)
Model層裡放置實體類 View裡放置前端頁面(HTML) Control:放置控制業務邏輯的類
它的好處是:邏輯清晰結構嚴謹,便於維護(我估計這句話不好理解,網上一搜都會這樣說)下面舉個例子:
一個學生管理系統:有添加學生的功能 修改學生信息的功能 刪除學生信息的功能 查新學生信息的功能
我們在做的時候會怎樣實現呢MVC方式下:
Control:負責連接數據庫,以及管理學生的邏輯方法
Model:學生信息對象(實體類)
View:頁面 主要由HTML代碼實現視圖效果,比如輸入框
這樣我們在插入數據的時候就會找到Control層裡的類 然後編寫裡面的方法
普通的一個頁面,對應一個後台.CS文件方式下:
由於每個頁面對應一個cs文件 所以完成一個功能的時候
這個cs文件裡面分別要寫
1.接收用戶輸入數據的方法
2.這個cs文件裡面要有一個實體類,也就是說這個cs文件裡面有兩個類,一個類是實體類A,另一個類是寫邏輯代碼的類B
3.在寫邏輯代碼的類B中,你還要寫訪問數據庫的方法(也可能出現第三個用來訪問數據庫的類C)
那我們知道第3點中 幾乎每個CS文件裡面都會寫一個訪問數據庫的方法或者說類,那我們可不可以把他提出來,封裝成所有CS文件都能用的公共類呢。
當然是可以的,於是我們把他提出來,這樣每個cs文件都只需要實例化一下這個類就能訪問數據庫,這時候我們又發現,每個cs文件裡面都有兩樣東西
一樣是實體類,一樣是控制邏輯代碼的類,我們要修改它就得先找到這兩個類,如果其中一個類的方法過多 或者實體類的屬性字段過多就會造成很久都找不到想要的東西的現象,於是有人提出,所有的實體放在一起,這樣就便於維護了,這就是MVC形成的由來
其實MVC是廣義上的叫法,顯得就有些抽象,其實在.NET裡面我們更多會有看起來是四層的結構
1:View:視圖層(大部分代碼是HTML代碼)
2:Model:實體層(所有實體對象放在這裡,什麼又叫做實體對象:老師通常說萬物皆對象,起初我不理解,初學者可以把數據庫裡的每張表想作實體對象)
3:BLL(全名:Business Logic Layer):業務邏輯層,數據層的操作,對數據業務邏輯處理
4:DAL(全名:Data Access Layer):數據訪問層,通常拿來連接數據庫的層,這裡面寫對數據進行操作的方法
他們存在的形式為C#的類庫(樓主可以了解一下)
我怕講多了樓主聽不懂就不看了,就講到這把,還有什麼不懂的就問百度了 尤其這些專業術語
為了這一分都比得上我高中寫作文湊800字的感覺了