MVVM框架設計模式的簡單理解

2022-09-13 12:09:06 字數 1440 閱讀 8238

model–view–viewmodel是一種軟體架構設計模式,這些模式也是依次進化而形成mvc—>mvp和mpf—>mvvm,是一種簡化使用者介面的事件驅動程式設計形式。

mvvm 源自於經典的 model–view–controller(mvc)模式  ,mvvm 的出現促進了前後端邏輯分離,提高了前端開發效率,mvvm 的核心是 viewmodel 層,它就像是檢視層和資料層的橋梁;viewmodel 層向上與view層進行雙向資料繫結,向下與 model 層通過介面請求進行資料互動,起呈上啟下作用。

2.1 viewmodel橋梁的出現讓類似-河水兩岸的陸地連線(view/model),兩地分而治之便可實時傳輸又互不干擾;即第乙個優點便是檢視層

低耦合:前端開發者不必低效通過頻繁操縱 dom 去更新檢視,mvvm 框架已經把最髒最累的一塊做好了,開發者只需要處理和維護 viewmodel,乙個viewmodel可以繫結到不同的"view"上。當view變化的時候model可以不變,當model變化的時候view也可以不變。這個解耦是至關重要,也是前後端分離方案實施的重要一環。

2.2上面提到的乙個viewmodel可以繫結到不同的"view"上,你可以把檢視邏輯放在乙個viewmodel裡面,讓很多view重用這段檢視邏輯,即可重用性。

2.3

交給前端工程師可單獨開發,開發人員可以專注於 viewmodel 的開發,設計人員可以專注於頁面設計,通過相應的規api可以簡單的進行整合。

2.4測試和部署,針對頁面控制項來寫比較方便測試也可以不依賴後端直接用工具或者模擬資料進行測試。

3.1 view 層

view 是檢視層,就像在mvc和mvp模式中一樣,檢視是使用者在螢幕上看到的也就是使用者介面,前端主要由 html 和 css 來構建 。

3.2 model 層

model 是指資料模型,泛指後端進行的各種業務邏輯處理和資料為中心,對於前端來說就是後端提供的api介面。

3.3 viewmodel 層

viewmodel 是由前端開發人員開發和維護的檢視資料層。前端開發者對從後端獲取的 model 資料進行轉換處理,資料做第二次封裝,以生成符合 view 層使用結構的檢視資料模型。需要注意的是 viewmodel 所封裝出來的資料模型包括檢視的狀態和行為兩部分,而 model 層的資料模型是只包含狀態的,比如頁面的這一塊展示內容,而頁面載入進來時發生的互動,點選這一塊發生事件,滾動時觸發的事件這些都屬於行為,檢視狀態和行為都封裝在了 viewmodel 裡。這樣的封裝使得 viewmodel 可以完整地去展現 view 層的整體介面內容。

簡單理解MVVM模式

mvvm是model view viewmodel的簡稱,是一種前端開發的架構模式,其核心是資料的雙向繫結。在mvvm中viewmodel 通過雙向資料繫結把 view 層和 model 層連線了起來,而view 和 model 之間的同步工作完全是自動的,無需人為干涉,我們不需要再手動操作dom,...

PageObject框架設計模式

page object設計模式是selenium自動化測試專案的最佳設計模式之一,強調測試 邏輯 資料和驅動相互分離。page object模式是selenium中的一種測試設計模式,主要是將每乙個頁面設計為乙個class,其中包含頁面中需要測試的元素 按鈕,輸入框,標題等 這樣在selenium測...

Python Django框架設計模式詳解

目錄 mvc model view controller 是軟體工程www.cppcns.com中常用的軟體架構模式,它是一種分離業務邏輯與顯示介面的設計方法。它把軟體系統分為三個基本eulzouucxg部分 m 業務模型 model 代表乙個儲存資料的物件 程式設計客棧v 檢視 view 代表模型...