MVC設計模式

Android中MVC設計模式:

MVC設計模式是爲了讓編程工程項目層次化,使之分工明確,便於設計項目工程和後期修改維護。

M:model

實現具體的功能代碼,業務邏輯。

如:
com.sharpandroid.domain:實體模型層,存放在程序中調用到的實體類。
com.sharpandroid.service:業務模型層,存放在程序中調用到的業務邏輯。

V:view

實現界面UI。

Android很好地將顯示層抽離,並放入”res/”目錄中以XML的形式體現。雖然對於控件屬性修改可以通過代碼完成,但還是推薦將控件的屬性在XML中設置爲佳,遇到動態修改的內容再採用硬編碼的方式。這樣增加了程序的可讀性,也有利於軟件後期的維護。
main.xml、shownews.xml:佈局文件。
strings.xml:存放常量。
drawable:存放使用的圖片文件。
Control是Acticity的天職,你只要告訴Acticity做什麼,而至於怎麼做,那是模型層的事。

C:Control

作爲M和V的橋樑,使之有條理的協調工作。

Control是Acticity的天職,你只要告訴Acticity做什麼,而至於怎麼做,那是模型層的事。

若不使用MVC:

(1)這樣做帶來最明顯的缺點就是過分的耦合。試想一下,在設計初期,沒有遵循MVC進行嚴格的分層,而在開發中,當需要對一個方法或者一個佈局進行更改時,由於層與層之間的過分耦合,那麼你將面對的是”牽一髮而動全身”的修改過程。如果基於MVC設計應用,我們只要修改相應層,就達到了我們的目的。

(2)難以分工。在不使用MVC情況下,程序員要爲如何設計UI用戶界面頭疼不已,浪費大量的精力,而不能將重點放在覈心代碼的編寫上,降低開發效率。如果遵循MVC,就可以將視圖層交給美工處理,程序員可以更好地去關心核心代碼的編寫,不用再被繁瑣的佈局所困擾。雖然現在Android的佈局並不是十分複雜,可是隨着Android的發展,這必然是一個趨勢。

(3)不宜維護性。在不使用MVC情況下,即使能順利將其開發完成,但在開發過程中用戶可能對某一模塊不滿意,需要修改或者去除,有時需要添加新的模塊,這樣的事情,對於處理沒有使用MVC設計模式的程序,將會是多麼頭疼的事情。

(4)Android系統專門提供了”res/values/”目錄下的諸如strings.xml、colors.xml類型的文件,可以將我們的常量值寫入XML文件中,方便調用。這樣不僅節省資源,還便於對資源的管理。如果某變量需要修改,可以直接對strings.xml文件進行修改。否則,我們需要對整個應用中所有用到該變量的代碼進行修改。

原文地址

發佈了35 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章