java mvvm是什么,讓我們一起了解一下?
MVVM是MVC的增強版,實質上和MVC沒有本質區別,只是代碼的位置變動而已,MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),優點是低耦合、可重用性、獨立開發、可測試。
MVVM模式四大優點分別是什么意思?
1、低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2、可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。
3、獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,使用Expression Blend可以很容易設計界面并生成xaml代碼。
4、可測試。界面素來是比較難于測試的,測試可以針對ViewModel來寫。
實戰操作,具體實例代碼如下:
//context private?Activity?context; //model(數據模型Bean) private?NewsService.News?news; private?TopNewsService.News?topNews; //數據綁定(data?field) public?final?ObservableField?imageUrl?=?new?ObservableField<>(); public?final?ObservableField?html?=?new?ObservableField<>(); public?final?ObservableField?title?=?new?ObservableField<>(); //?一個變量包含了所有關于View?Style?相關的字段 public?final?ViewStyle?viewStyle?=?new?ViewStyle(); //命令綁定(command) public?final?ReplyCommand?onRefreshCommand?=?new?ReplyCommand<>(()?->?{ }) public?final?ReplyCommand?onLoadMoreCommand?=?new?ReplyCommand<>((p)?->?{ }); //Child?ViewModel public?final?ObservableList?itemViewModel?=?new?ObservableArrayList<>(); /**?*?ViewStyle?關于控件的一些屬性和業務數據無關的Style?可以做一個包裹,這樣代碼比較美觀, ViewModel?頁面也不會有太多的字段。?**/ public?static?class?ViewStyle?{ public?final?ObservableBoolean?isRefreshing?=?new?ObservableBoolean(true); public?final?ObservableBoolean?progressRefreshing?=?new?ObservableBoolean(true); }
以上就是小編今天的分享了,希望可以幫助到大家。