MVC與MVVM原理

1. Mvvm定義MVVM是Model-View-ViewModel的簡寫。即模型-視圖-視圖模型。【模型】指的是後端傳遞的數據。【視圖】指的是所看到的頁面。【視圖模型】mvvm模式的核心,它是鏈接view和model的橋樑。它有兩個方向:一是將【模型】轉化成【視圖】,即將後端傳遞的數據轉化成所看到的頁面。實現的方式是:數據綁定。二是將【視圖】轉化成【模型】,即將所看到的頁面轉化成後端的數據。實現的方式是:DOM 事件監聽。這兩個方向都實現的,咱們稱之爲數據的雙向綁定。總結:在MVVM的框架下視圖和模型是不能直接通訊的。它們經過ViewModel來通訊,ViewModel一般要實現一個observer觀察者,當數據發生變化,ViewModel可以監聽到數據的這種變化,而後通知到對應的視圖作自動更新,而當用戶操做視圖,ViewModel也能監聽到視圖的變化,而後通知數據作改動,這實際上就實現了數據的雙向綁定。而且MVVM中的View 和 ViewModel能夠互相通訊。MVVM流程圖以下:前端

1. MVC的定義:MVC是Model-View- Controller的簡寫。即模型-視圖-控制器。M和V指的意思和MVVM中的M和V意思同樣。C即Controller指的是頁面業務邏輯。使用MVC的目的就是將M和V的代碼分離。‘MVC是單向通訊。也就是View跟Model,必須經過Controller來承上啓下。MVC和MVVM的區別並非VM徹底取代了C,ViewModel存在目的在於抽離Controller中展現的業務邏輯,而不是替代Controller,其它視圖操做業務等仍是應該放在Controller中實現。也就是說MVVM實現的是業務邏輯組件的重用。因爲mvc出現的時間比較早,前端並不那麼成熟,不少業務邏輯也是在後端實現,因此前端並無真正意義上的MVC模式。而咱們今天再次提起MVC,是由於大前端的來到,出現了MVVM模式的框架,咱們須要瞭解一下MVVM這種設計模式是如何一步步演變過來的。後端

相關文章
相關標籤/搜索