MVC 模式的原理,它在 Android 中是如何運用的?

時間 2021-05-31 07:56:29

1樓:黃杲

Android中有不少地方採用了MVC的設計模式,比如控制項這一塊,ListView的使用就是採用的MVC模式:用Adaptor將View和Data聯絡到一起。

順便提一句,Linux上很著名的GUI引擎GTK+也有不少是採用的MVC模式的,比如TreeView,但使用起來極其繁冗,比Android相去甚遠。所以同樣的MVC,運用的好壞,也是各有不同。

2樓:上尉

Android的mvc模式並不完備,比如view背後的activity,既要完成ui的工作,又要做controller的活。追求完美的話,需要額外的工作,目前還沒看到比較好的框架。當然實際工程中也沒必要追求極致,夠用就好。

3樓:馮東

MVC 是一種取捨。用效能換取系統彈性。系統彈性,就是怎麼樣都搞不垮的能力。

MVC 的理想狀態。M 沒有資料冗餘,儲存的都是自由變數,所以從資料上不會產生 bug。View 每次都遍歷 M,即時計算出臨時資料,更新整個介面,所以從顯示上不會產生 bug。

M 只通知 V 發生了變化而不說明變化是什麼,所以不論通知本身是否有重複或者順序問題,系統都不會有問題。

然後,這樣寫出來的系統,效能超級極端低下。必須不斷的向 M 加入資料冗餘,必須優化通知本身的頻度和資訊。通過犧牲彈性達到使用者可用性。

MVC 是乙個切入點,是起點而不是終點。

4樓:藍文

嚴格意義上說, ContentProvider 並非是乙個資料模型,ContentProvider還只是在Data的層面,而不是Model的層面,Android 本身沒有像J2EE Hibernate 或者 Rails ActiveRecord 那樣的ORM 工具。

Android View 這一層倒是很接近MVC中的「View」,但是還是需要很多的 binding 的操作。

Android Controller 是很完備,提供Activity,Service,Broadcast 和 Receiver 等等機制。

MVC 模式下的後端是需要前後端都會嗎??

都會不是更好嗎?Razor就那麼幾句話,沒什麼門檻。Html,Js,Css早晚要會再。後端無非是設計一種管道機制把資料搞到前邊去,要麼就用Model資料結構,要麼就用ViewBag之類的容器 要麼就用Json。沒什麼要學的東西,直接擼吧 頁面訪問週期都是短的,比較好搞。有一種計畫任務,長時間另外開執...

vue中資料繫結原理的設計模式到底觀察者還是發布訂閱?

熊貓px 1.init過程 vue生命週期中先 init初始化初始化資料的函式中 initState函式觸發initwatch 觸發createWatcher 觸發 watch watch才是真正的監聽函式,建立乙個watcher例項,觸發watcher的get方法將watcher推送到,dep.t...

在校招中,如何寫出簡潔的 Android 開發簡歷?

如果去bat,Intel,Ms這種,把簡歷發給師兄,讓他們給你內推,這樣基本HR這關就搞定了,剩下的事情就是看技術那關面試你能不能hold住了。簡歷上寫好專業技能,專案經歷就好,不懂的不要裝就行。寫作看給誰看,都是程式猿就別用Word了,上md,大家都這麼裝逼不能不合群,給其他人看老老實實用Word...