mvc
模型層(Model) 視圖層(View) 控制層(Controller)
優點:模塊分離、代碼清晰,便于維護
mvp
模型層(Model) 視圖層(View) 邏輯處理層(Presenter)
優點:解耦,降低模塊之間的依賴。view由Activity承擔,Presenter做業務,結構清晰。
mvvm
單向綁定上,數據的流向是單方面的,只能從代碼流向UI;雙向綁定的數據流向是雙向的,當業務代碼中的數據改變時,UI上的數據能夠得到刷新;當用戶通過UI交互編輯了數據時,數據的變化也能自動的更新到業務代碼中的數據上。對于雙向綁定,剛好可以使用DataBinding,DataBinding是一個實現數據和UI綁定的框架,是構建MVVM模式的一個關鍵的工具。所以Android中實現MVVM就方便多了,