首頁  >  文章  >  mvvm模式和mvc模式的差別是什麼

mvvm模式和mvc模式的差別是什麼

coldplay.xixi
coldplay.xixi原創
2020-08-21 13:57:037560瀏覽

mvvm模式和mvc模式的差異是:1、MVC中Controller演變成MVVM中的ViewModel;2、MVVM透過資料顯示視圖層而不是節點操作;3、MVVM主要解決了MVC中大量的dom操作使頁面渲染效能降低。

mvvm模式和mvc模式的差別是什麼

mvvm模式和mvc模式的差別是:

一,什麼是MVVM?

在MVVM框架下視圖和模型是不能直接通訊的,只能透過ViewModel進行交互,它能夠監聽到資料的變化,然後通知視圖進行自動更新,而當使用者操作視圖時,VM也能監聽到視圖的變化,然後通知資料做相應改動,這實際上實現了資料的雙向綁定。且V和VM可以進行通訊。

圖片範例如下:

mvvm模式和mvc模式的差別是什麼

MVVM模式的優點:

 

#低耦合:View可以獨立於Model變化和修改,一個ViewModel可以綁定到不同的View上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。

可重用性: 可以把一些視圖邏輯放在一個ViewModel裡面,讓很多View重用這段視圖邏輯。

獨立開發: 開發人員可以專注於業務邏輯和資料的開發,設計人員可以專注於頁面的設計。

 

二,什麼是MVC?

#MVC是應用最廣泛的軟體架構之一,一般MVC分為:Model(模型) ,View(視圖),Controller(控制器)。這主要是基於分層的目的,讓彼此的職責分開.View一般用過Controller來和Model進行聯繫。 Controller是Model和View的協調者,View和Model不直接聯絡。基本上都是單向聯繫。 M和V指的意思和MVVM中的M和V意思一樣。 C即Controller指的是頁面業務邏輯。 MVC是單向通訊。也就是View跟Model,必須透過Controller來承上啟動。

 

三,mvc與mvvm的差別:

MVC和MVVM的差別並不是VM完全取代了C,ViewModel存在目的在於抽離Controller中所展示的業務邏輯,而不是取代Controller,其它視圖操作業務等還是應該放在Controller中實作。也就是說MVVM實作的是業務邏輯元件的重複使用。

- MVC中Controller演變成MVVM中的ViewModel

-MVVM透過資料來顯示視圖層而不是節點操作

-MVVM主要解決了MVC中大量的dom操作使頁面渲染效能降低,載入速度變慢,影響使用者體驗

以上是mvvm模式和mvc模式的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn