1. 程式人生 > >android中的MVC,MVP和MVVM模式簡單總結

android中的MVC,MVP和MVVM模式簡單總結

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