MVC的介紹與實戰

MVC的基本簡介

MVC全稱是Model - View - Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。MVC是一種框架模式而非設計模式,GOF把MVC看作是3種設計模式:觀察者模式、策略模式與組合模式的合體,而核心是觀察者模式。簡而言之,框架是大智慧,用來對軟件設計進行分工;設計模式是小技巧,對具體問題提出解決方案,以提高代碼複用率,降低耦合度。

MVC模式的優點
a. 首先就是理解比較容易,技術含量不高,這對開發和維護來說成本較低也易於維護與修改。
b. 耦合性不高,表現層與業務層分離各司其職,對開發來說很有利。

MVC模式的缺點
a. 由於它沒有明確的定義,所以完全理解MVC模式並不是很容易。使用MVC需要精心的計劃,由於它的內部原理比較複雜,所以需要花費一些時間去思考。同時由於模型和視圖要嚴格的分離,這樣也給調試應用程序帶來了一定的困難。每個構件在使用之前都需要經過徹底的測試。
b. 由於MVC模式將一個應用程序分成了3個部件,這意味着同一個工程將包含比以前更多的文件。

注:對於一些小規模的項目,MVC反而會帶來更大的工作量以及複雜度。

MVC在Android中的應用
Android中對MVC的應用很經典,在android中視圖View層一般採用XML文件進行界面的描述。如下例子:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/list_item_text"
    android:textSize="16sp"
    android:gravity="left|center_vertical" />

而對於模型Model部分則大多對應於本地的數據文件或網絡獲取的數據體,很多情況下我們對這些數據的處理也會在這一層中進行。

最後的控制器Controller則當之無愧的是右Activity承擔。

總結
在Android的UI系統中,控制器Activity主要起到的作用就是解耦,將視圖View和模型Model進行分離,兩者在Activity中進行綁定或完成其他邏輯。
總體來說,MVC更適合於規模比較大的項目,比如Android的UI系統框架,雖說上面的介紹中我們感受到Android在MVC方面的結構,但是,這個框架並非我們自己完成的,而是由framework給我們搭建好的並提供給我們,在平時的開發中,特別是用Android開發,我們並不常用到MVC模式去脫離Android UI系統構建自己的框架結構。

參考:《Android源碼設計模式解析與實戰》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章