MVC架構模式在APP開發中有哪些應用?


該文首先介紹了無線城市的概念,然后提出了移動APP開發中常用的MVC架構模式,最后結合IOS客戶端重慶無線城市項目“重慶城”,論述MVC架構模式在該APP開發中的具體應用 。

1 “無線城市”概述

2004年7月,美國費城提出“無線費城計劃”,該計劃是基于WLAN(Wireless Local Area Networks)標準的無線網絡 。隨后類似的無線城市計劃開始席卷全球 。2013年,中國移動TD-LTE網絡達到7M/S , 移動端網速的快速提升,為無線城市時代的到來提供了最重要的基礎條件 。當前,中國的北京、海南、廣東、江西、安徽、湖北、重慶等31個省份都已經建設了類似項目 。
2 MVC架構模式

IOS端“重慶城”項目涉及的功能模塊較多,而傳統的基于網絡的應用系統中,數據庫的訪問、用戶界面設計、業務邏輯混合在一起,這種架構模式非常不便于后期需求的調整,一旦需求有變動,會給后期維護帶來很大的不便 ?;诜謱拥募軜嬎枷霊\而生,MVC架構模式是一種典型代表 。

MVC不是一種設計模式(Design Pattern),而是一種架構模式(Architectural Pattern),用以描述應用程序的結構以及結構中各部分的職責和交互方式 。MVC是Model View Controller的簡稱 , 包括模型(Model)、視圖(View)、控制器(Controller)這3個層次,它是一種廣泛應用于移動端系統的架構模式 。

2.1 MVC三層架構

MVC模式能夠將模型層(Model)和視圖層(View)實現代碼分離 , 控制器(Controller)則是保證模型層和視圖層的同步,模型層如果有改變,視圖層也會保持更新 。

模型(Model):模型層用于封裝與業務邏輯相關的數據以及對數據的處理方法,一般來說模型對象可以讀取數據庫中的數據,模型層不關心它會如何被顯示 。

視圖(View):視圖層主要基于界面展示相關信息,視圖可以有多個,控制器決定使用哪個視圖 , 視圖一般是根據數據模型創建 。

控制器(Controller):它是應用程序中處理用戶交互的,用戶點擊視圖上的控件 , 控制器能接收到基于HTTP協議的GET、POST請求 。

2.2 MVC原理

MVC(Model-View-Controller)架構模式的原理并不復雜,應用程序必須能區分相應的功能 。

MVC架構模式對于小型甚至中型的應用程序并不合適 , 會帶來很大的?~外工作量,增加應用的復雜性 。對于存在大量界面、邏輯復雜的大型應用程序,MVC架構模式雖然會增加一些工作量,但也能夠增加系統的穩定性 , 長遠來看,會提升系統的運行效率 。

3 MVC架構模式的代碼實現

移動端”重慶城”項目,因其涉及的界面較多,傳統的架構模式不能滿足需求,采用了MVC三層架構 。項目上線后,Android市場和App Store里該應用累計下載量達到200余萬次,用戶體驗良好 , 后臺運行穩定 , 受到廣大重慶市民的歡迎 。

4 總結

相比傳統架構模式,MVC架構模式有不少優點 。其不足體現在以下幾個方面,后期有待優化 。

1) 增加了系統結構和實現的復雜性 。對于簡單的界面,嚴格遵循MVC , 使模型、視圖與控制器分離 , 會增加結構的復雜性 , 并可能產生過多的更新操作,降低運行效率 。

2)視圖與控制器間的過于緊密的連接 。視圖與控制器是相互分離,但確實聯系緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用 。

3)視圖對模型數據的低效率訪問 。依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據 。對未變化數據的不必要的頻繁訪問,也將損害操作性能 。

4) 目前,一般高級的界面工具或構造器不支持MVC模式 。改造這些工具以適應MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難 。

【MVC架構模式在APP開發中有哪些應用?】

經驗總結擴展閱讀