MVC、MVP和MVVM的优缺点
目前流行的架構模式是MVC、MVP和MVVM
1.MVC
Model(模型)、View(視圖)、Controller(控制器)
優點:
1)耦合性低,視圖層和業務層分離
2)可維護性高,簡單,方便修改
3)部署快
缺點:
1)沒有明確的定義
2)不適合小型,中等規模的應用程序
3)視圖與控制器間的過于緊密的連接
4)視圖對模型數據的低效率訪問
2.MVP
模型層(Model):負責存儲、檢索、操縱來自數據庫或者網絡的數據。 視圖層(View):用戶界面,一般采用XML文件進行界面的描述。 邏輯處理層(Presenter):作為View與Model交互的中間紐帶,處理與用戶交互的負責邏輯。
優點:
1)解耦,模型與視圖完全分離
2)模塊職責劃分明顯
3)代碼復用,靈活
4)測試方便,可脫離UI
缺點:
1)視圖和Presenter的交互會過于頻繁
2)增加來很多類文件
3.MVVM
Model(數據層)、ViewController/View(展示層)、ViewModel(數據模型)
優點:
1)低耦合。View可以獨立于Model變化和修改,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。 2)ViewModel可復用 3)獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,生成xml代碼。 4)雙向綁定時,ViewModel解決MVP中View(Activity)和Presenter相互持有對方應用的問題,界面由數據進行驅動,響應界面操作無需由View(Activity)傳遞,數據的變化也無需Presenter調View(Activity)實現,使得數據傳遞的過程更加簡潔,高效。
缺點:
1)數據綁定使得 Bug 很難被調試
2)數據雙向綁定不利于代碼重用
總結
以上是生活随笔為你收集整理的MVC、MVP和MVVM的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android布局优化之include、
- 下一篇: Glide执行流程总结