Android MVC-MVP-MVVM

先設(shè)計項目的技術(shù)框架,再寫第一行代碼。

引言
  • 模塊功能化(高內(nèi)聚、低耦合)
  • 提高開發(fā)效率(分工明確、業(yè)務(wù)聚焦)
  • 提高測試效率(方便測試、問題定位)

MVC

MVP

MVVM

總結(jié)

設(shè)計初衷
  • MVC:為解決程序模塊化問題。將業(yè)務(wù)邏輯、數(shù)據(jù)處理與界面顯示進行分離來組織代碼,即分成M、V、C層
  • MVP:MVC中的M、V層還是有相互交叉、隔離度不夠,同時寫到Activity上使得Activity代碼臃腫。MVP隔離了MVC中的 M 與 V 的直接聯(lián)系,將M、V層更加隔離開來,并釋放了Activity的壓力
  • MVVM:為了更加分離M、V層,更加釋放Activity的壓力。使得V和M層之間的耦合程度進一步降低,分離更為徹底,同時更加減輕了Activity的壓力。
宏觀概覽
  • MVC:學(xué)習(xí)簡單但是解耦不夠徹底
  • MVP:解耦更加徹底,學(xué)習(xí)起來也相對比較簡單,但是代碼相對比較繁瑣
  • MVVM:代碼邏輯非常簡潔,但是學(xué)習(xí)成本較大

?

小編的博客系列

Android 軟件架構(gòu) 全家桶
?

優(yōu)秀博客推薦

MVC、MVP、MVVM的區(qū)別和聯(lián)系(精講版)
MVC、MVP、MVVM,我到底該怎么選?
這是一份全面 & 清晰的架構(gòu)設(shè)計指南:MVC、MVP & MVVM模式(含實例講解)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容