android的MVC、MVP、MVVM比較

MVC

應用大致爲三部分:

    視圖(View):用戶界面,用戶操作輸入

    控制器(Controller):業務邏輯,不同的數據服務

    模型(Model):數據保存,也就是不同的數據實體

各部分之間的通信方式:

    View傳送指令到Controller

    Controller完成業務邏輯後,要求Model改變狀態

    Model將新的數據發送到View,用戶得到反饋

    M、V、C之間所有的通信都是單向的

接受用戶指令時,MVC可以分爲兩種方式:

    1.通過View接受指令,傳遞給Controller

    2.直接通過Controller接受指令


MVP

MVP模式將Controller改名爲Presenter,同時改變了通信方向

    各部分之間的通信,都是雙向的

    View和Model不發生聯繫,都通過Presenter傳遞

    View非常薄,不部署任何業務邏輯,稱爲"被動視圖"(Passive View),即沒有任何主動性,而Presenter非常厚,所有邏輯都部署在那裏


MVVM

MVVM模式將Presenter改名爲ViewModel,基本上與MVP模式完全一致。

唯一的區別是,它採用雙向綁定(data-binding):View的變動,自動反映在ViewModel,反之亦然。




發佈了41 篇原創文章 · 獲贊 18 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章