Android 四大组件 与 MVC 架构模式
? ? ??作為一個剛從JAVA轉過來的Android程序員總會思考android MVC是什么樣的?
首先,我們必須得說Android追尋著MVC架構,那就得先說一下MVC是個啥東西!
????? 總體而來說MVC不能說是一個設計模式,因為劃分維度太大,所以MVC應該屬于架構模式!
百度百科 ——?MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯和數據顯示分離的方法組織代碼,將業務邏輯被聚集到一個部件里面,在界面和用戶圍繞數據的交互能被改進和個性化定制的同時而不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
???? 模型層、視圖層、控制層各司其職責,相互獨立,一個模型可以有多個視圖,一個視圖可以有多個控制器,同樣如此,一個控制器也可以有多個模型。
MVC 基本處理流程如下:
用戶與視圖交互,視圖接愛并反饋用戶的動作;視圖把用戶的請求傳給相應的控制器,由控制器決定調用哪個模型,然后由模型調用相應的業務邏輯對用戶請求進行加工處理,如果需要返回數據,模型會把相應的數據返回給控制器,由控制器調用相應的視圖,最終由視圖格式化和渲染返回的數據,對于返回的數據完全可以增加用戶體驗效果展現給用戶。
?? Andorid針對MVC實現得意于提出了四大核心組件,具體的詳細先不討論,今天主要想簡要說一下本人對四大組件的一些感性認識:
?? Activity: 處理與UI相關的事件,呈現界面給用戶并響應用戶的請求?(?打開一個應用,展現在你眼前的全是Activity。Activity是一個容器,她可以其承載它控件!);
?? Service: 后臺服務,一般用于耗時操作,在后臺和長時間運行(人前風平浪靜,人后馬不停蹄!Service是幕后工作者,雖然你看不到他干事的過程,但你能看到最終的結果。Service雖是幕后工作,但不是不要工錢,系統開銷一點也不少);
BoadcastReceiver: 接收廣播事件并對事伯點擊進行處理,如當收到短信時系統會發現短信到來的廣播,能夠處理該廣播的BoadcastReceiver就會根據自己需要進進處理(廣播,這個道里大家都懂吧!);
??? ContentProvider: 存儲、處理數據并提供給外界一致的處理接口;
?
??? 我寫了一個關于Android四大組件的一個小故事和大家分享一下:
? 我去麥當勞用餐,進門前就能看到麥當勞的logo和面店裝飾。
?????走進店里,裝潢格局,桌椅餐具,服務員全都麥當勞風格。包括前臺點餐都和交流用語都是一模一樣,標準的麥當勞模式。(現在我眼前的一切就是 Activity)。
????? 點餐后,我駐足等待。但這時我拿起最新的宣傳廣告看來起來,期間又接了一個工作電話。過了一會,我點的東西好了。端到自己的坐位上,我拿起發了一條微博和一條朋友圈,完全不關心忙碌的后廚和食物的制做過程(這就是Service)
????? 一會店里的廣播通知顧客去前臺取已經做好的漢堡包和薯條,這時我身邊的一位老兄起身去了前臺。(這就是BoadcastReceiver)
????? 就餐完畢,出門時我把點餐時打印的收據隨手扔進了門口的垃圾箱(那收據就是ContentProvider)!
- 本文固定鏈接:?http://www.ttsofts.com/archives/198
- 轉載請注明:?ttsofts?2015年11月15日?于?代碼博客?發表
?
轉載于:https://www.cnblogs.com/ttsofts/p/4865931.html
總結
以上是生活随笔為你收集整理的Android 四大组件 与 MVC 架构模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVN 服务器端的搭建-及多仓库管理-O
- 下一篇: Android--百度地图之基础地图(三