首頁 >常見問題 >mvvm模式和mvc模式的差別是什麼?

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

青灯夜游
青灯夜游原創
2020-07-25 11:17:0814203瀏覽

區別:MVC中Controller演變成了MVVM中的viewModel。 MVVM主要解決了MVC中大量的DOM操作帶來的使頁面渲染效能降低,載入速度變慢等問題。 MVVM中當和Model頻繁發生變化,開發者需要主動更新到View。

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操作使頁面渲染效能降低,載入速度變慢,影響使用者體驗等問題。

更多相關知識,請造訪:PHP中文網

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

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