前情提要
學過ASP.NET, DJango, 和Vue,然後我還去查詢了一些關於MVP的文章~
過程
ASP.NET - MVC
MVC就是Model, View和Controller
我們寫ASP.NET的過程
- 先把Model寫好了,然後通過entity framework根據Model生成數據庫。
- 填充Controller,每一個Controller的函數對應至少一個View的頁面,Controller類似於一個Route。
- 完善View的佈局。
通信方式是醬紫的:M->V->C->M->...
Model 將數據傳遞到 View 中展示
用户在 View 中的操作傳送到 Controller 中運行相應代碼
Controller 運行的代碼將改變 Model 的結果
DJANGO - MTV 其實也是MVC
MTV是Model, Template(MVC中的View)和View(MVC中的Controller)
通信方式就是M->T->V->M...
Vue - MVVM
MVVM是Model View ViewModel
Model還是跟數據掛鈎,View還是跟視圖掛鈎
ViewModel則是二者之間的橋樑。
在MVVM中,M和V並不直接進行通信,而是要通過VM。
通信方式是這樣的:View<=>ViewModel<=>Model
MVP
MVP(P是Presenter)跟MVVM很接近,唯一的區別根據上面提到的那篇文章,在於"MVVM用雙向綁定(data-binding):View的變動,自動反映在 ViewModel,反之亦然。"。那麼MVP就是沒有雙向綁定的MVVM,也就是説View發生變動的時候需要進行一次通信,傳輸給Presenter。
尾巴
- 害,理解的太淺了,還需要更努力才行!
- 明天要早起去買菜,準備7點半起,那麼現在差不多該睡了...
- 今天稍微複習了一下Vue,明天開始看XCSF推薦的做自己的UI系列了~