android中的MVC,MVP和MVVM模式簡單總結
阿新 • • 發佈:2019-01-03
1.MVC
View:對應於xml佈局檔案
Model:實體模型
Controllor:對應於Activity業務邏輯,資料處理和UI處理
xml的view功能太過於弱化,導致actvity裡面即處理業務邏輯,又處理view。這樣activity的類的程式碼比較長。
2.MVP
View:對應於Activity和xml,負責View的繪製以及與使用者互動
Model:依然是實體模型
Presenter: 負責完成View於Model間的互動和業務邏輯
用得比較多,把檢視操作和業務邏輯分開來。複雜的業務同時會導致presenter層太大,程式碼臃腫的問題。通過UI事件的觸發對資料進行處理。activity需要編寫大量的事件。通過事件呼叫presenter的業務處理方法。UI改變後牽扯的邏輯耦合度太高。View和Presenter只是互相持有引用並互相做回撥,程式碼不美觀。
3.MVVM
View:對應於Activity和xml,負責View的繪製以及與使用者互動
Model:實體模型
ViewModel:負責完成View於Model間的互動,負責業務邏輯
資料繫結(Data
Binding)、依賴屬性(Dependency Property)、命令(Command)、路由事件(Routed Event)
缺點:
1.資料繫結使得bug很難被除錯
2.如果專案過大,資料繫結需要更大的記憶體
參考網址
http://www.jianshu.com/p/2fc41a310f79