mvc和mvvm模式的理解與區別


一,什么是MVVM?
在MVVM框架下視圖和模型是不能直接通信的,只能通過ViewModel進行交互,它能夠監聽到數據的變化,然后通知視圖進行自動更新,而當用戶操作視圖時,VM也能監聽到視圖的變化,然后通知數據做相應改動,這實際上就實現了數據的雙向綁定。並且V和VM可以進行通信。
圖片示例如下:

  

 

 

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操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM