mvc,mvp和mvvm的簡單介紹

2021-08-27 20:35:13 字數 970 閱讀 6486

mvc是最經典的開發模式之一,在上大學的時候老師教的也是這個。

mvc有兩個很明顯的問題:

1.m層和v層直接打交道,導致這兩層耦合度高

2.因為所有邏輯都寫在c層,導致c層特別臃腫

為了解決這兩個問題,mvc的變種模式出現了mvp和mvvm.

mvc架構方式的變種,使用presenter來代替control,而且改變了資料的流向,view和model之間不再直接進行互動,而是全部通過presenter來進行。presenter同時持有view和model,同時view和model中也各自含有對於presenter的引用。當view中的檢視改變,需要更新資料時,通過presenter來通知model來進行資料更新,同樣的當資料發生更新時,也通過其自身含有的額presenter引用來通知view來進行更新。這樣presenter就可以作為橋梁來聯絡兩者,而傳統的activity只需要進行ui的繪製,呈現即可。

mvvm其實是對mvp的一種改進,他將presenter替換成了viewmodel,並通過雙向的資料繫結來實現檢視和資料的互動。也就是說只需要將資料和檢視繫結一次之後,那麼之後當資料發生改變時就會自動的在ui上重新整理而不需要我們自己進行手動重新整理。在mvvm中,他盡可能的會簡化資料流的走向,使其變得更加簡潔明瞭。

目前這種架構主要使用databing框架,關於這個框架下一章節介紹。

MVC MVP和MVVM的區別

引用自 url 看過高人對這三種常見的.net模式做了分析,總結下來其實只有2種模式。mvvm只是mvp的馬甲。這三種 兩種 模式的不同點在於響應請求的最後一步,也就是對頁面的更新響應,由那一層來完成。mvc模式下,是由view自己進行更新響應,control vm或presenter 是被動等待v...

MVC,MVP 和 MVVM 的區別

一 mvc mvc模式的意思是,軟體可以分成三個部分。檢視 view 使用者介面。控制器 controller 業務邏輯 模型 model 資料儲存 各部分之間的通訊方式如下。view 傳送指令到 controller controller 完成業務邏輯後,要求 model 改變狀態 model 將...

MVC,MVP 和 MVVM 的詳解

mvc模式的意思是,軟體可以分成三個部分。各部分之間的通訊方式如下。view 傳送指令到 controller controller 完成業務邏輯後,要求 model 改變狀態 model 將新的資料傳送到 view,使用者得到反饋 所有通訊都是單向的。接受使用者指令時,mvc 可以分成兩種方式。一...