一 mvc模式和mvvm模式

2021-10-09 23:03:42 字數 1350 閱讀 3917

m - model :資料儲存

v - view : 使用者介面

c - controller : 業務邏輯

mvc ,使用者操作》 view (負責接受使用者的輸入操作)>controller(業務邏輯處理)>model(資料持久化)>view(將結果通過view反饋給使用者)

mvc是最經典的開發模式之一,最早是後台那邊來的,後台前端的複雜度也上來了,mvc的開發模式也帶進前端了眾所周知,mvc是開發客戶端最經典的設計模式,ios 開發也不例外,但是 mvc 有讓人無法忽視的嚴重問題。

在通常的開發中,除了簡單的 model、view 以外的所有部分都被放在了 controller 裡面。controller負責顯示介面、響應使用者的操作、網路請求以及與 model 互動。這就導致了controller:邏輯複雜,難以維護。和 view 緊耦合,無法測試。

mvc有兩個很明顯的問題:

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

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

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

mvvm:

m model

v view

vm viewmodel

mvvm是將「資料模型資料雙向繫結」的思想作為核心,因此在view和model之間沒有聯絡,通過viewmodel進行互動,而且model和viewmodel之間的互動是双喜那個的,因此試圖的資料的變化會同事修改資料來源,而資料來源資料的變化也會立即反應到view上。

mvc和mvvm的區別

mvc和mvvm的區別並不是vm完全取代了c,viewmodel存在目的在於抽離controller中展示的業務邏輯,而不是替代controller,其它檢視操作業務等還是應該放在controller中實現。也就是說mvvm實現的是業務邏輯元件的重用。

vue在建立vm的時候,會將資料配置到例項中,然後通過object.defineproperty方法,為資料動態的新增getter與setter方法。

當獲取資料的時候,會觸發對應的getter方法,當設定資料的時候,觸發對應的setter方法。

然後當setter方法觸發完成的時候,內部會進一步觸發watcher,從而資料改變了,檢視則更新操作完畢。

MVC模式 MVVM模式

mvc是一種架構模式,m表示model,v表示檢視view,c表示控制器controller model負責儲存 定義 運算元據 view用於展示介面,與使用者進行操作互動 controller是model和view之間的橋梁,將model中的資料傳遞到view。關係解讀 controller可以直...

MVC 和 MVVM 設計模式

mvc模式 mvc即model view controller。他是1970年代被引入到軟體設計大眾的。mvc模式致力於關注點的切分,這意味著model和controller的邏輯是不與使用者介面 view 掛鉤的。因此,維護和測試程式變得更加簡單容易。mvc設計模式將應用程式分離為3個主要的方面 ...

mvc和mvvm模式的理解與區別

幾乎所有的專案都在做這麼一件事 將資料展示給使用者看,並處理使用者對介面的操作。mvc的思想 一句話描述就是controller負責將model的資料用view顯示出來,換句話說就是在controller裡面把model的資料賦值給view,比如在controller中寫document.getel...