學過ASP.NET, DJango, 和Vue,而後我還去查詢了一些關於MVP的文章~html
MVC就是Model, View和Controller數據庫
咱們寫ASP.NET的過程mvc
通訊方式是醬紫的:M->V->C->M->...mvvm
Model
將數據傳遞到 View
中展現函數
用戶在 View
中的操做傳送到 Controller
中運行相應代碼佈局
Controller
運行的代碼將改變 Model
的結果雙向綁定
MTV是Model
, Template
(MVC中的View)和View
(MVC中的Controller)code
通訊方式就是M->T->V->M...htm
MVVM是Model
View
ViewModel
blog
Model
仍是跟數據掛鉤,View
仍是跟視圖掛鉤
ViewModel
則是兩者之間的橋樑。
在MVVM中,M和V並不直接進行通訊,而是要經過VM。
通訊方式是這樣的:View<=>ViewModel<=>Model
MVP(P是Presenter)跟MVVM很接近,惟一的區別根據上面提到的那篇文章,在於"MVVM用雙向綁定(data-binding):View的變更,自動反映在 ViewModel,反之亦然。"。那麼MVP就是沒有雙向綁定的MVVM,也就是說View
發生變更的時候須要進行一次通訊,傳輸給Presenter
。