[鐵人賽Day02] | 首都客運時刻表查詢網
![[鐵人賽Day02]](https://i.imgur.com/2oxSoeJ.png)
2018年10月17日—一直以為這是一套微軟特定的開發技術,後來才知道它只是命名剛好有MVC而已。同步發表於個人點部落-[鐵人賽Day02]ASP.NetCoreMVC進化之路-什麼 ...
![[鐵人賽Day02]](https://i.imgur.com/2oxSoeJ.png)
文章一開始筆者先自嘲一下, 筆者剛開始接觸MVC的時候, 一直以為這是一套微軟特定的開發技術, 後來才知道它只是命名剛好有MVC而已。
同步發表於個人點部落 - [鐵人賽Day02] ASP.Net Core MVC 進化之路 - 什麼是MVC[1]
What is MVC?所以什麼是MVC呢? 正確來說MVC是一種軟體架構, 這個名詞最早出現在1978年一種名為smalltalk的程式語言, 分別代表Model(模型)、View(檢視)、Controller(控制器), 能讓前後端的程式碼職責分離。
但這整個流程是如何運作的呢? 在這之前我們要先簡介紹一下Web的流程。
假設我想知道今天台北的天氣狀況, 在瀏覽器中點選中央氣象局連結後, 首先瀏覽器(Client)會發起一個Request(請求)到氣象局的網站(Server), 接著Server會去訪問DB(資料庫)今天台北的天氣怎麼樣, 最終將訪問後的結果包裝成Response並呈現在瀏覽器畫面上。
我們來看看MVC的架構:
如果你滑到上面比對一下應該不難發現, 這兩張圖在某種程度上是非常相似的。 事實上MVC也是遵照這樣的模式運作, 只不過將各自的職責拆開而已。 對於MVC名詞的解釋google後可以得到很多解答,
以維基百科[2]為例:
控制器(Controller)- 負責轉發請求,對請求進行處理。 視圖(View) - 介面設計人員進行圖形介面設計。 模型(Model) - 程式設計師編寫程式應有的功能(實現演算法等等)、資料庫專家進行資料管理和資料庫設計(可以實現具體的功能)。一樣是剛...