博客 / 詳情

返回

對常見軟件架構MVC,MVP和MVVM的淺顯理解

前情提要

學過ASP.NET, DJango, 和Vue,然後我還去查詢了一些關於MVP的文章~

過程

ASP.NET - MVC

MVC就是Model, View和Controller

我們寫ASP.NET的過程

  1. 先把Model寫好了,然後通過entity framework根據Model生成數據庫。
  2. 填充Controller,每一個Controller的函數對應至少一個View的頁面,Controller類似於一個Route。
  3. 完善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

尾巴

  1. 害,理解的太淺了,還需要更努力才行!
  2. 明天要早起去買菜,準備7點半起,那麼現在差不多該睡了...
  3. 今天稍微複習了一下Vue,明天開始看XCSF推薦的做自己的UI系列了~
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.