MVVM模式即:
1、Model:資料層,網路資料操作,file檔案操作,本地資料庫操作;
2、View:視圖層,布局加載,ui互動,
3、ViewModel:vm,關聯層,資料變化自動更新系結的view,view的操作更新系結的資料;
MVVM與MVP非常類似,唯一的區別就是View和Model進行了雙向系結(通過data-binding),兩者之間有一方發生變化就會反應到另一方上,

優點:
1、view和model 雙向系結,簡化開發者的作業,不用專注于更新視圖,只需要專注于實作業務邏輯;
2、系結的model 簡化了model的邏輯控制;
缺點:
1、view和model的系結,使頁面例外追蹤變得 不方便,可能是view導致的bug,也可能使model導致的;
2、資料雙向系結不利于代碼重用,View都系結了一個model,不同模塊的model都不同,就不能重用View;
所以在我的專案中,并沒有采用雙向系結的方式,只使用了data-dingding找控制元件的功能,
那資料變化怎么通知view去改變呢?
通過LiveData,LiveData放在ViewModel中,資料變化重繪LiveData,而View中監聽了LiveData
轉載請標明:https://www.cnblogs.com/tangZH/p/14221147.html
參考:https://www.jianshu.com/p/5e0860ce475a
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/296460.html
標籤:其他
