MVC三個英文字母分別代表Model,View和Controller,是一種常見的系統設計方式。
這種MVC系統設計方式將一個應用分為Model,View和Controller三個主要部份,接著我們來大概了解下這三部份是負責甚麼工作吧。
View
我們先講三個部份中最簡單的View,在網站中每一頁面叫一個View。View是負責處理訪客直接見到/互動的東西,例如文字輸入方框,導航菜單,圖片等等,亦即用戶介面(UI)。
這部份通常由前端的人員,例如網站/介面設計師或前端開發人員去完成。
Controller
而Controller中文直譯就是控制者,相信這也不難理解,Controller是整個應用的大腦,負責決定整個應用程式該怎樣運行。
Controller這個大腦具體運作大概是這樣,舉個例~~~
例如現在用戶想進行登入操作,負責登入的Controller組件(Login Controller)收到這個請求後會調配相應的登入的View,登入View的用戶介面能讓訪客輸入其用戶名和密碼,讓訪客提交登入請求。
當收到用戶提交的用戶名和密碼後,Login Controller的邏輯會知道訪客需要登入。但這時Controller自己並不知道手頭上拿到的用戶名和密碼是否正確,所以Controller要找一位幫手,也就是MVC第三個組件,Model來幫忙了。
Model
Model除了解模特兒外,Model還有另外一個意思,模型,在這裡具體點解作資料模型,負責讀寫和資料轉變的工作 。
回到剛才的例子,如果要核對用戶名和密碼是否正確,Login Controller就會叫Model (例如叫User Model)去資料庫拿取用戶資料,Login Controller拿到用戶資料後就可以進行身份核對,再決定用戶能不能夠通過驗証。
這部份通常由後端開發人員去完成。
總括來說MVC的互動大概就以下這幅圖
圖片來源:https://developer.mozilla.org/en-US/docs/Glossary/MVC
使用MVC系統設計方式的好處
使用MVC最大好處是體現在分工上,做前端的可以去做View,做資料庫的可以去做Model,做主邏輯的可以去做Controller,分工明確,做事情就會更有效率。
MVC Framework(框架)
所謂Framework(框架),其實就是指一些較大的工具包,裏面已經有一些做好的元件,可以直接給開發人員使用,讓開發人員做同一件事時可以寫少點代碼,也讓應用更安全可靠的工具。
如果你不明白的話,我就拿造汽車來比喻,使用MVC framework就好比各個汽車品牌提供了造車所需的各種各樣的零件給你,比如一些車架,車門,車窗,車輪,而且這些零件已經經過很多人,很多次的安全測試檢驗。你只需要將這些零件合併起來就可以順利做好汽車了,是非常好用的。
在IT世界中,如果這些工具包是採用了MVC系統設計方法的話,就叫MVC Framework。現在坊間MVC Framework(框架)有很多,五花八門,就舉幾個例,有
以上這些MVC 框架都是比較出名,比較多開發人員使用的。這次關於甚麼是MVC和MVC Framework的簡單介紹就說到這裡,感謝你的觀看。