三、MVVM模式2,MVVM模式在Android源碼在的應用

本文來源:《Android源碼設計模式》一書 ?著 何紅輝/關愛民

mvvm與mvp非常相似,唯一的區別是view和model進行雙向綁定,(data-bingding),兩者之間有一方發生變化則反應到另一方上,而mvp與mvvm的主要區別是,mvp中的view更新需要通過presenter,而mvvm則不需要,因為view和model進行了雙向綁定,數據的修改回直接反映到view角色上,而view的修改也會導致數據的變更,此時,viewmodel的角色需要做的只是業務邏輯的處理,以及修改view或者model的狀態,mvvm的模式有點像listview和adapter,數據集的關系,這個adapter就是viewmodel的角色,她與view進行了綁定,又與數據集進行了綁定,當數據集發生變化時,調用adapter的notifydatasetchanged之后view直接更新,他們之間沒有直接的耦合。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、概述 Databinding 是一種框架,MVVM是一種模式,兩者的概念是不一樣的。我的理解DataBindi...
    Kelin閱讀 76,861評論 68 521
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,817評論 25 708
  • 今日梨園小鎮之行,最喜的卻不是賞梨花帶來的愉悅,而是看到站在博陸山一側的榆樹。在這個目不暇接,美爆了眼睛的繁華季節...
    驕陽下的一朵蓮閱讀 1,192評論 10 11
  • 當時光逐漸過去,當你逐漸成長,為什么反而越加無法相信友誼。 你固執的說,這是你的理智與成熟。 但實際上。 你知道的...
    胖胖小魚兒閱讀 302評論 1 1
  • 所依賴的有它自己的時間表 不受支配的夏 冷卻了的風聲 晾衣架丟在陽臺 門后走廊通宵寂靜燈火 放空過度的人 就聽著肖...
    慕籽閱讀 280評論 2 5