官术网_书友最值得收藏!

1.3.3 MVVM模式介紹

MVVM是Model View ViewModel的簡寫,它本質上就是MVC模式的改進版,目的是將其中View的狀態及行為抽象化,將視圖UI和業務邏輯分開。ViewModel可以做這些事情,它可以取出Model的數據,同時幫助處理View中由于需要展示內容而涉及的業務邏輯。如今越來越多的新技術,例如Silverlight、音頻、視頻、3D、動畫等技術的發展導致了軟件UI層更加細節化、可定制化。同時,在技術層面,WPF帶來了如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM模式便是由MVP模式與WPF結合的應用方式發展演變過來的一種新型架構模式。它立足于原有MVP模式并把WPF的新特性納入進去,以應對客戶日益復雜的需求變化。

1.MVVM模式的優點

MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),以下是MVVM模式的優點。

(1)低耦合。View可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的View上,當View變化時Model可以不變,當Model變化時View也可以不變。

(2)可重用性。可以將一些視圖邏輯放在一個ViewModel中,讓很多View重用這段視圖邏輯。

(3)獨立開發。開發者可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,使用Expression Blend工具可以很容易地設計界面并生成XAML代碼。

(4)可測試。界面素來是比較難測試的,而基于MVVM模式,測試可以針對ViewModel來寫。

2.MVVM模式的組成部分

(1)模型:模型是指代表真實狀態內容的領域模型(面向對象),或指代表內容的數據訪問層(以數據為中心)。

(2)視圖:就像在MVC和MVP模式中一樣,視圖是用戶在屏幕上看到的結構、布局和外觀。

(3)視圖模型:視圖模型是暴露公共屬性和命令的視圖抽象。MVVM模式沒有MVC模式的控制器,也沒有MVP模式的Presenter,有的是一個綁定器。在視圖模型中,綁定器在視圖和數據綁定器之間進行通信。

在Microsoft解決方案中,綁定器是一種名為XAML的標記語言。綁定器使開發者免于被迫編寫樣板式邏輯來同步視圖模型和視圖。聲明性數據和命令綁定隱含在MVVM模式中,聲明性數據綁定技術的出現是實現該模式的一個關鍵因素。

主站蜘蛛池模板: 砚山县| 富平县| 通化市| 太仆寺旗| 巴东县| 呼玛县| 来安县| 开平市| 永州市| 南陵县| 陈巴尔虎旗| 广平县| 上杭县| 定襄县| 会理县| 石城县| 邛崃市| 双柏县| 宜阳县| 日土县| 清流县| 始兴县| 五家渠市| 永平县| 新民市| 绍兴市| 徐水县| 顺平县| 镇远县| 大理市| 湘潭市| 左权县| 利川市| 阳高县| 清丰县| 木兰县| 靖江市| 临汾市| 顺昌县| 临高县| 沙雅县|