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

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模式中,聲明性數據綁定技術的出現是實現該模式的一個關鍵因素。

主站蜘蛛池模板: 扶风县| 绍兴市| 屯留县| 朝阳区| 确山县| 滨州市| 亳州市| 清镇市| 洛阳市| 漳州市| 濉溪县| 千阳县| 通山县| 新绛县| 乌拉特中旗| 扬州市| 山阳县| 鸡泽县| 广元市| 灵寿县| 明光市| 陆河县| 平度市| 涪陵区| 深水埗区| 原平市| 永康市| 阳信县| 衡山县| 阳春市| 台南市| 米脂县| 金塔县| 丰都县| 汉川市| 伊川县| 二手房| 六枝特区| 宝丰县| 乌拉特前旗| 海阳市|