Android與MVC設計模式

概念

Android應用是基於MVC(Model-View-Controller)的架構模式進行設計的。Android應用中的任何對象,都屬於模型對象,控制器對象,視圖對象三類對象中的任何一種:

  • 模型對象

    模型對象存儲着應用的數據和業務邏輯。模型類通常用來映射與應用相關的一些事物。模型對象不關心用戶界面,它存在的唯一目的就是存儲和管理應用數據。應用的全部模型對象組成了模型層。

    在Android的世界裏,模型類一般是開發者自定義的類,對應着應用業務相關的事物。

  • 視圖對象

    視圖對象知道如何在屏幕上繪製自己以及如何響應用戶的輸入,如用戶的touch事件等。一個簡單的經驗法則是,凡是能夠在屏幕上看見的對象,都是視圖對象。應用的全部視圖對象組成了視圖層。

    Android應用裏,視圖對象可能是Button,TextView等View類,也可能是用戶自定義的各種View類,還可能是LinearLayout,RelativeLayout,RecyclerView等各種ViewGroup類。

  • 控制器對象

    控制器對象含有應用的邏輯單元,是視圖對象與模型對象的聯繫紐帶。控制對象響應視圖對象觸發的各類事件,此外還管理着模型對象和視圖對象之間的數據流動。注意,模型對象與視圖對象不直接交互,控制器對象作爲它們之間的聯繫紐帶,接收對象(可能是V或M)發送的消息,然後向其它對象(可能是M或V)發送操作指令。

    在Android的世界裏,控制器對象通常是Activity,Fragment,Service中的一個子類。

這裏寫圖片描述

使用MVC設計模式的好處

  • 以類來組織代碼有助於從整體視角設計和理解應用,這樣可以按類,而不是按變量和方法去思考和設計開發的問題

  • 把對象按MVC三層進行分類組織,也有助於我們設計和理解應用。這樣可以按層次,而不是按一個個類來考慮設計開發。如下圖的事例,非常有層次感。

這裏寫圖片描述

  • 使用MVC模式可以讓類的複用更加容易。相比功能多而全的類,功能單一的專用類更加有利於代碼複用。
發佈了54 篇原創文章 · 獲贊 13 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章