IT科技

當前位置 /首頁/IT科技 > /列表

mvvm,java

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java mvvm是什麼,讓我們一起了解一下?

MVVM是MVC的增強版,實質上和MVC沒有本質區別,只是代碼的位置變動而已,MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),優點是低耦合、可重用性、獨立開發、可測試。

MVVM模式四大優點分別是什麼意思?

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

2、可重用性。你可以把一些視圖邏輯放在一個ViewModel裏面,讓很多view重用這段視圖邏輯。

java mvvm

3、獨立開發。開發人員可以專注於業務邏輯和數據的開發(ViewModel),設計人員可以專注於頁面設計,使用Expression Blend可以很容易設計界面並生成xaml代碼。

4、可測試。界面素來是比較難於測試的,測試可以針對ViewModel來寫。

實戰操作,具體實例代碼如下:

//contextprivate 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 ViewModelpublic 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);}

TAG標籤:java mvvm #