Android 中的MVC MVP MVVM

app架構是一種開發方案數據庫

首先就是關於Model層的理解:網絡

個人理解:Model層是屬性和獲取這些屬性方法的集合。架構

好比在Android裏,數據庫裏的數據是Model層,ORM框架也是Model層,假如要進行搜索操做,那麼搜索的條件不屬於Model層,以及搜索後所對數據進行的預處理也不是Model層.app

其實這兩種不屬於框架

 

 

在Android中:測試

默認的開發模式是MVC的 其中Activity是Controller,xml文件和自定義的控件的是View.而那些網絡請求操做的Network類是Model,而後Network請求的回調接口裏面直接更新View屬性。xml

而後爲了解決VC之間的耦合,將上面Network回調接口改爲不直接更新View,而是交給Presenter來中轉一下,一樣,在View點擊時也是先交由Presenter來中轉,這樣的開發模式就是MVP。接口

此時M與V徹底解耦,既能夠將View層徹底重構而無需擔憂Model層須要從新更改測試,也能夠將Model層實現改成另外一種方式,不用考慮View的問題。開發

而MVVM也是對MVC的一種改進,它也是講View與Model解耦,可是形式不同,須要注意的是須要有一個ViewModel框架來支撐View和ViewModel的交互。而ViewModel層的做用也就是業務邏輯,何時綁定一個View何時解綁,而後業務邏輯交給Model層來作。it

 

須要注意的事,有時候業務邏輯很難區分,這時候就要根據項目確認哪些是通用的東西,能夠做爲Model層,哪些是隻有這個頁面纔會用到的放到業務邏輯層。 這跟我的對總體的把控和項目經驗有關。

相關文章
相關標籤/搜索