android中mvc
⑴ MVC 模式的原理,它在 Android 中是如何運用的
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製界面及用戶交互的同時,不需要重新編寫業務邏輯。其中M層處理數據,業務邏輯等;V層處理界面的顯示結果;C層起到橋梁的作用,來控制V層和M層通信以此來達到分離視圖顯示和業務邏輯層。
在Android開發中,比較流行的開發框架模式採用的是MVC框架模式,採用MVC模式的好處是便於UI界面部分的顯示和業務邏輯,數據處理分開。那麼Android項目中哪些代碼來充當M,V,C角色呢?
M層:適合做一些業務邏輯處理,比如資料庫存取操作,網路操作,復雜的演算法,耗時的任務等都在model層處理。這個和javaEE不太一樣,javaee中model層一般只有模型,而復雜的操作一般放在業務(service)層中。
V層:應用層中處理數據顯示的部分,XML布局可以視為V層,顯示Model層的數據結果。
C層:在Android中,Activity處理用戶交互問題,因此可以認為Activity是控制器,Activity讀取V視圖層的數據(eg.讀取當前EditText控制項的數據),控制用戶輸入(eg.EditText控制項數據的輸入),並向Model發送數據請求(eg.發起網路請求等)。
⑵ Android 中 MVC、MVP 和 MVVM 對比
MVC、MVP和MVVM是常見的三種架構設計模式,當前MVP和MVVM的使用相對比較廣泛,當然MVC也並沒有過時之說。
MVC (Model-View-Controller, 模型-視圖-控制器),標準的MVC是這個樣子的:
簡述:
缺點:
MVP (Model-View-Presenter) 是MVC的演化版本,幾個主要部分如下:
簡述:
解釋:
優點:
缺點:
MVVM 是 Model-View-ViewModel 的簡寫。和 MVP 模式相比,MVVM 模式用 ViewModel 替換了 Presenter ,其他層基本上與 MVP 模式一致,ViewModel 可以理解成 是 View 的數據模型和 Presenter 的合體。MVVM 就是將其中的 View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。
簡述:
缺點:
參考:
⑶ android mvc什麼時候出來的
很久了、
mvc是model、view、controller的縮寫。android 鼓勵弱耦合和組件的重用,android 中mvc的具體體現如下:
模型(model):是應用程序的主題部分,所有的業務邏輯都應在該層(對資料庫的操作、對網路等的操作都應該在model裡面處理,當然對計算等操作也是必須放在該層的)。
視圖層(view):是應用程序中負責生成用戶界面的部分。也是整個mvc架構中用戶唯一可以看到的一層,接收用戶的輸入,顯示用戶的處理結果。一般用xml文件進行界面的描述,使用的時候可以非常方便的引入。
控制層(controller):是根據用戶的輸入,控制用戶界面數據顯示及更i新model對象狀態的部分。android的控制層的重任通常落在了眾多activity的肩上,這句話也就暗含了不要在activity中寫過多代碼,要通過activity交割model業務邏輯處理層處理,這樣做的另外一個原因是android中的activity的響應時間是5秒,如果耗時的操作放在這里,程序很容易被回收掉。
⑷ Android MVP與MVC的區別和理解
MVP架構:
View不直接與Model交互,而是通過與Presenter交互來與Model間接交互。
Presenter與View的交互是通過介面來進行的。
通常View與Presenter是一對一的,但復雜的View可能綁定多個Presenter來處理邏輯。
MVC架構:
View可以與Model直接交互。
Controller是基於行為的,並且可以被多個View共享。
可以負責決定顯示哪個View。