MVC for Android

來源:互聯網
上載者:User

標籤:

        在Android開發中,比較流行的開發架構模式採用的是MVC架構模式,採用MVC模式的好處是便於UI介面部分的顯示和商務邏輯,資料處理分開。那麼問題來了,在Android項目的開發中哪些代碼來充當M,V,C角色呢?下面結合Android項目的具體結構對MVC for Android 做簡要剖析。

M(Model)模型層       適合做一些商務邏輯處理,比如對資料庫的存取操作、對網路等的資料請求操作、複雜的演算法、耗時的任務等都應該在Model裡面處理,當然對業務計算等操作也是必須放在該層的。
V(View)顯示層       應用程式層中處理資料顯示的部分。Android很好地將顯示層抽離,並放入“res/”目錄中以XML的形式體現,所以在Android中XML布局可以視為V層,顯示Model層的資料結果同時接收使用者輸入的資訊。
C(Controller)控制層       在Android中,Activity處理使用者互動問題,因此可以認為Activity是控制器,Activity讀取V視圖層的資料,控制使用者輸入,並向Model模型層發送資料請求。Control是Activity的天職,你只要告訴Activity做什麼,而至於怎麼做,那是模型層的事。這句話也就暗含了不要在Activity中寫過多邏輯代碼,要通過Activity交割Model商務邏輯層處理,這樣的另一個原因是Android中的Activity的回應時間是5s,如果耗時的操作放在這裡,程式就很容易被收掉。
如果不用MVC會怎樣?
  • 這樣做帶來最明顯的缺點就是過分的耦合。試想一下,在設計初期,沒有遵循MVC進行嚴格的分層,而在開發中,當需要對一個方法或者一個布局變更時,由於層與層之間的過分耦合,那麼你將面對的是“牽一髮而動全身”的修改過程。如果基於MVC設計應用,我們只要修改相應層,就達到了我們的目的。
  • 難以分工。在不適用MVC情況下,程式員要為如何設計UI使用者介面頭疼不已,浪費大量的精力,而不能將重點放在核心代碼的編寫上,降低開發效率。如果遵循MVC,就可以將視圖層交給美工處理,程式員可以更好地去關心核心代碼的編寫,不用再被繁瑣的布局所困擾。
  • 不易維護性。在不使用MVC情況下,即使能順利將項目開發完成,但在開發過程中使用者可能對某一模組不滿意,需要修改或者去除,有時需要添加新的模組,這樣的事情,對於處理沒有使用MVC架構模式的程式,將會是多麼頭疼的事情。
  • Android系統專門提供了"res/values/"目錄下的諸如strings.xml、colors.xml類型的檔案,可以將我們的常量值寫入XML檔案中,方便調用。這樣不僅節省資源,還便於對資源的管理。如果某變數需要修改,可以直接對strings.xml檔案進行修改。否則,我們需要對整個應用中所有用到該變數的代碼進行修改。

MVC for Android

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.