理解MVC(轉)

那到底啥是MVC設計模式呢?
MVC (Model-View-Controller)模式,即模型-試圖-控制器模式,其核心思想是將整個程序代碼分成相對獨立而又能協同工作的3個組成部分,具體的功能如下:
模型(Model): 業務邏輯層。實現具體的業務邏輯、狀態管理的功能。
視圖(View):表示層。就是與用戶實現交互的頁面,通常實現數據的輸入和輸出功能。
控制器(Controller):控制層。起到控制整個業務流程的作用,實現View層跟Model層的協同工作。

下面我就舉個實際的例子來幫助大家繼續理解。

這個MVC設計模式呢,有點像現實中我們去飯店吃飯的過程。當你到一個飯店吃飯,過程是這樣的,首先你得點菜啊,不用喊,一個光溜水滑,埋了八汰的小服務員就會整個小本來你面前,“先生,你來點啥?”,你看看菜譜,“給我整個小盤魚香肉絲,再加一碗米飯。”“好的,先生稍等。”說着服務員一溜小跑朝後廚方向,“那啥。。。告訴廚師別放姜啊!~~”。。。帶會兒,服務員就把你要的飯菜給你端上來了,“先生請慢用~~有啥需要幫忙的,儘管喊我。”你吃的狼吞虎嚥的,根本不知道里面放的青椒媽的都沒洗~~~

    就這麼一個簡單的你要飯的過程就可以用MVC將其描述一下,你呢就相當於View,服務員呢就相當於Controller,而那個不洗青椒的該死廚師就是Model。你一開始跟服務員點菜,就相當於我們的瀏覽器向服務器發出請求,服務員將你要吃的菜交給後廚的師傅,就相當於控制層將瀏覽器發過來的請求交給業務邏輯層來處理,而它根本不管廚師到底咋做這個菜,反正你能給我鼓搗出一盤魚香肉絲就成,青椒洗不洗那是他的事,這也就是我們常從老鳥口中聽到的“封裝”,封裝好啊,封的你連青椒沒洗的魚香肉絲都能吃的噴香,嘻嘻~~當服務員把一盤冒着熱氣的魚香肉絲端到你面前的過程,就相當於業務邏輯層處理完後把相應傳回給瀏覽器,然後通過瀏覽器顯示給用戶。這樣就實現了一個簡單的MVC協調交互,也不知道你明白點沒有。。。

可能有的兄弟又要說了,“你講MVC你就講唄,整啥點菜啊,我昨天才吃的魚香肉絲,現在都有點想吐啦!!討厭~~~”,下面就給兄弟們說說在實際項目中應該咋應用這MVC。

就拿一個簡單的登陸模塊說,需求是你輸入一個用戶名、密碼,如果輸入的跟預先定義好的一樣,那麼就進入到正確頁面,如果不一樣,就提示個錯誤信息“你Y別在這兒蒙我,輸入的不對!”。

這個小小的模塊中,起始的輸入用戶名密碼的頁面跟經過校驗後顯示的頁面就相當於View,而這裏還需要一個controller頁面,就是用於接收輸入進來的用戶名 密碼,還有經過校驗後返回的一個flg(此flg就是用於判斷你輸入的是否正確,而跳轉到相應的頁面的),最後還缺一個Model,那麼就是你那個用於校驗的類了,他就是處理你輸入的是否跟預先訂好的一樣不一樣的,之後返回一個flg。這樣就完全實現了邏輯跟頁面的分離,我頁面不管你咋整,反正我就一個顯示,而controller呢也不管你Model咋判斷對不對,反正我給你了用戶名跟密碼,你就得給我整回來一個flg來,就跟服務員根本不管廚師青椒洗不洗一樣,而Medol呢,則是反正你敢給我個用戶名跟密碼,我就給你整過去個flg~~如果看到這你有點茅塞頓開了,待會就試驗着寫寫吧!!
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章