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

前情提要

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

過程

ASP.NET - MVC

MVC就是Model, View和Controller數據庫

咱們寫ASP.NET的過程mvc

  1. 先把Model寫好了,而後經過entity framework根據Model生成數據庫。
  2. 填充Controller,每個Controller的函數對應至少一個View的頁面,Controller相似於一個Route。
  3. 完善View的佈局。

通訊方式是醬紫的:M->V->C->M->...mvvm

Model 將數據傳遞到 View 中展現函數

用戶在 View 中的操做傳送到 Controller 中運行相應代碼佈局

Controller 運行的代碼將改變 Model 的結果雙向綁定

DJANGO - MTV 其實也是MVC

MTV是Model, Template(MVC中的View)和View(MVC中的Controller)code

通訊方式就是M->T->V->M...htm

Vue - MVVM

MVVM是Model View ViewModelblog

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系列了~
相關文章
相關標籤/搜索