美好的時間總是過得特別快ㄚ,又快要禮拜一了。
抓緊這周末最後的空閒,利用短短的5 min,跟著筆者一起學習吧。
首先,要提到的是Framework(網頁)框架。
這裡框架的解釋,並不局限於網頁。
框架在很多地方都能被使用。
運作原理即是:Framework 已經幫你定義好了大部分的套件,
詳細應該要怎麼做、怎麼去運用已經寫好的套件、該怎麼做動
則是依照自己的需求、目的去做修改與實現。
簡單來說就是利用別人寫好的工具來幫助我們開發
圖源:網路
MVC是一種軟體架構開發模式,針對目前以資料庫為基礎的網頁,將其區分成三個主要的功能:
而這三個主要的功能,則剛好對應著:
也就是我們所謂的MVC,Model-View-Controller,把網頁撰寫時主要的功能做了分別並歸類。
接著,我們個別來細談。
VIEW,也就是整個結構用來呈現外觀頁面的地方,也就是我們常常說的介面設計處。
然而外觀(Views)無法直接呼叫,他們一定要通過控制器 Controller來呼叫。
在撰寫VIEW時,盡量保持只有網頁外觀程式碼和一些簡單的Loop、if-else。
Controller提供所有 view 需要的資料,如果有需要拿到資料庫的資料,那就呼叫資料庫 Models 來存取資料。
其實就是世人說的API。
可以把它想像成一個服務生,在**餐桌(View)與廚房(Model)**之間,接收傳遞資訊。
而系統一開始也是讀取Controller來呈現view
定義 HTTP 請求過來時應該被如何處理。
Models 是被設計來存取資料庫。
任何有關資料庫的操作,例如新增、查詢、刪除、更新都是在Model撰寫。
"MVC的目的是實現一種動態的程式設計模式,使後續的程式修改、擴充更加簡化,降低系統複雜度,使系統更好維護與擴充。"
擴充性高
方便管理有利於團隊分工
使程式結構更直覺
需要嚴謹的系統規劃,開發時間可能會拉長
系統結構複雜,不適合小型專案
系統肥大,效能降低
市面上有很多符合MVC架構設計的網頁框架,例如 Laravel、CodeIgniter...
希望大家能透過今天的文章對MVC有初步的了解~