Android之MVC模式

Android之MVC模式

        MVC (Model-View-Controller):M是指邏輯模型,V是指視圖模型,C則是控制器。一個邏輯模型能夠對於多種視圖模型,好比一批統計數據你能夠分別用柱狀圖、餅圖來表示。一種視圖模型也能夠對於多種邏輯模型。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可使用不一樣的表現形式,而C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新,這與《設計模式》中的觀察者模式是徹底同樣。 html

      MVC好處:從用戶的角度出發,用戶能夠根據本身的需求,選擇本身合適的瀏覽數據的方式。好比說,對於一篇在線文檔,用戶能夠選擇以HTML網頁的方式閱讀,也能夠選擇以pdf的方式閱讀。從開發者的角度,MVC把應用程序的邏輯層與界面是徹底分開的,最大的好處是:界面設計人員能夠直接參與到界面開發,程序員就能夠把精力放在邏輯層上。而不是像之前那樣,設計人員把全部的材料交給開發人員,由開發人員來實現界面。在Eclipes工具中開發Android採用了更加簡單的方法,設計人員在DroidDraw中設計界面,以XML方式保存,在Eclipes中直接打開就能夠看到設計人員設計的界面。  程序員

       Android中界面部分也採用了當前比較流行的MVC框架,在Android中:  數據庫

 

  1) 視圖層(View):通常採用XML文件進行界面的描述,使用的時候能夠很是方便的引入。固然,如何你對Android瞭解的比較的多了話,就必定能夠想到在Android中也可使用JavaScript+HTML等的方式做爲View層,固然這裏須要進行Java和JavaScript之間的通訊,幸運的是,Android提供了它們之間很是方便的通訊實現。      設計模式

  2) 控制層(Controller):Android的控制層的重任一般落在了衆多的Acitvity的肩上,這句話也就暗含了不要在Acitivity中寫代碼,要經過Activity交割Model業務邏輯層處理,這樣作的另一個緣由是Android中的Acitivity的響應時間是5s,若是耗時的操做放在這裏,程序就很容易被回收掉。 網絡

  3) 模型層(Model):對數據庫的操做、對網絡等的操做都應該在Model裏面處理,固然對業務計算等操做也是必須放在的該層的。就是應用程序中二進制的數據。 框架


      在Android SDK中的數據綁定,也都是採用了與MVC框架相似的方法來顯示數據。在控制層上將數據按照視圖模型的要求(也就是Android SDK中的Adapter)封裝就能夠直接在視圖模型上顯示了,從而實現了數據綁定。好比顯示Cursor中全部數據的ListActivity,其視圖層就是一個ListView,將數據封裝爲ListAdapter,並傳遞給ListView,數據就在ListView中現實。  工具

相關文章
相關標籤/搜索