IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索_第1頁
IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索_第2頁
IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索_第3頁
IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索_第4頁
IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、IOS環(huán)境下使用MVC模式進行APP開發(fā)的設(shè)計思路探索摘要:隨著軟件開發(fā)技術(shù)、特別是OOP技術(shù)的發(fā)展,人們發(fā)現(xiàn)OOP技術(shù)開發(fā)的軟件在移植到不同平臺或是軟件 運行硬件發(fā)生變化時,代碼較難維護;MVC模式作為蘋果公司主推的交互式 APP設(shè)計模式,已經(jīng)得到推廣和應(yīng)用。本文 通過使用MVC開發(fā)模式在IOS系統(tǒng)中進行APP設(shè)計,向讀者 介紹如何利用 MVC 模式進行應(yīng)用開發(fā)。通過分析如何使用 MVC 模式設(shè)計軟件,啟發(fā)開發(fā)者設(shè)計軟件的思路, 也希望能 對應(yīng)用開發(fā)者們有所幫組。關(guān)鍵詞: MVC APP 設(shè)計模式 開發(fā)中圖分類號: TP311.52 文獻標識碼: A 文章編號: 1007-9416(2015

2、)06-0000-00軟件開發(fā)在商業(yè)上被認為是一項昂貴又有風險的投資。 應(yīng)用開發(fā)時常常出現(xiàn)周期比預想長、預算超支、功能不符合 約定等種種問題。為了解決軟件開發(fā)問題,人們發(fā)明了多種 軟件開發(fā)模式,比較典型的有面向過程的開發(fā)模式,面向?qū)?象的模式和模型 -視圖 -控制器模式。面向?qū)ο蠹夹g(shù)曾解決過 軟件開發(fā)過程的大部分問題,但由于開發(fā)者經(jīng)常把對象混在 一起,導致當應(yīng)用程序成熟起來后,移植到不同平臺或是硬 件發(fā)生變化時,代碼會變的難以維護。對象設(shè)計的情況經(jīng)常是,如果一下一點發(fā)生變化,就很難把受到影響的對象隔離開來。模型-視圖-控制器(Model-View-Controller , MVC)其 實并不是

3、新鮮事物,早在 1982 年的時候就被發(fā)明出來用于 軟件設(shè)計。在IOS開發(fā)中MVC模式被使用的淋漓盡致,充分理解iOS的MVC模式,有助于我們程序的組織合理性。1 MVC 模式概述1.1什么是MVC模式MVC 模式即模型 -視圖 -控制器( Model-View-Controller , MVC),顯而易見,是由模型、視圖和控制器三個部分組成。 模型即概念,指你的程序是什么,是業(yè)務(wù)對象,是與用戶界 面無關(guān)的部分;控制器即通道,是專門負責模型和視圖通信 的對象,是你的應(yīng)用程序如何將模型顯示給用戶(UI),它是模型和視圖的鏈接橋梁;而視圖即用戶窗口,是用戶界面, 可以形象將之理解為控制器的小兵,視

4、圖一切聽從控制器指 揮,并別把自己發(fā)生的重要事件及時報告給控制器。若使用 計算機語言描述,即模型是內(nèi)部數(shù)據(jù),控制器則是輸入輸出 控制,而視圖是數(shù)據(jù)表示。1.2 模型 模型是應(yīng)用問題的抽象,一個應(yīng)用程序需要解決哪些問 題,這些問題本身又具有什么特殊操作,應(yīng)該使用模型將其 邏輯表示抽象出來。具體而言,即需要使用對象對問題數(shù)據(jù) 進行封裝,抽象并封裝相應(yīng)的數(shù)據(jù)和操作,以備視圖的查詢和更新需要。1.3 視圖 視圖即用戶界面,是模型的外在表現(xiàn),模型與視圖之間 應(yīng)該是一對多的關(guān)系。它是人機交互的窗口,是APP的接口, 使用 push 和 pull 方法,通過控制器與模型進行交互,執(zhí)行 查詢或是更新指令。1.

5、4 控制器 控制器的主要作用是實現(xiàn)模型和視圖之間交互的橋梁。 理解用戶與視圖的交互信息,并將之標準化為業(yè)務(wù)事件,提 供給模型,促使模型對程序動作進行輸出,最總選擇使用哪 個視圖來向用戶展示數(shù)據(jù)。1.5 MVC三部分之間的關(guān)系MVC 模式實際上是對應(yīng)用程序進行了邏輯分離, 將輸入、 處理和輸出具體業(yè)務(wù)邏輯分解成了視圖通過控制器到模型, 模型處理后再通過控制器回到相應(yīng)視圖(可能已經(jīng)不是原來 的視圖了),三者相互聯(lián)系,但具體處理上又各自分開,它 們各自只負責自己的一塊具體事務(wù)。2 iOS 中 MVC 模式設(shè)計 APP2.1 IOS簡介iOS最早名為iPhone OS,是美國蘋果公司基于 Unix,專

6、 門為其手機開發(fā)的一款操作系統(tǒng),之后其應(yīng)用也擴展到蘋果 公司的其他產(chǎn)品上如iPod、iPad等,后改名為iOS。雖然當今主流的手機操作系統(tǒng)有 iOS、 Android 以及以 Android 為底 層框架的其他再開發(fā)的系統(tǒng),但其中iOS 系統(tǒng)應(yīng)其穩(wěn)定、簡單易用以及蘋果品牌效應(yīng)受到廣泛追捧。現(xiàn)在iOS 的生態(tài)圈非常成熟, 只要開發(fā)者有良好的創(chuàng)意, 并將該創(chuàng)意實現(xiàn)為 iOS 應(yīng)用程序,就可以把這個應(yīng)用程序發(fā)布到蘋果提供的AppStore中獲利。目前,iOS是市面上最問題的手機操作系 統(tǒng),越來越多的程序員希望能進行 iOS APP的開發(fā)。iOS中最 常見的一種設(shè)計模式就是 MVC。2.2 使用 MV

7、C 模式設(shè)計如果單純使用 OOP模式,開發(fā)者經(jīng)常會把對象混在一起,當項目中涉及業(yè)務(wù)規(guī)則、用戶界面和基于客戶端服務(wù)器還是 基于英特網(wǎng)三個問題,當其中任一點發(fā)生變化時,開發(fā)者將 很難把受到影響的對象隔離開。 而使用 MVC 模式,對象可以 根據(jù)其任務(wù)分成三個類別。開發(fā)者的責任就是保證每一個類 別的對象不會移動到其他類別中。這三種類別分別是:(1)模型,業(yè)務(wù)對象; (2)視圖,用戶界面對象; (3) 控制器,負責模型和視圖通信的對象。如果對象按照這種分類組織,應(yīng)用的開發(fā)和維護就更簡 單。本文將以一個 iPhone 銀行程序中的對象及其所屬 MVC 分類來講解:模型:賬戶結(jié)余、用戶加密、轉(zhuǎn)賬、賬戶登錄

8、;視圖: 賬戶結(jié)余單元格、 賬戶登錄過程中的旋轉(zhuǎn)指示控件; 控制器: 賬戶結(jié)余控制器、賬戶視圖控制器、登錄視圖控制器。在 MVC 范式(如下圖 1)中,記住對象分類最簡單的方法就是: 模型:獨特的業(yè)務(wù)或應(yīng)用規(guī)則,或是代表真實世界的代碼; 視圖:獨特的用戶界面;控制器:任何控制或與模型或者視 圖對象通訊的代碼。可以看出,在iOS中使用MVC模式來開發(fā)APP,將使應(yīng) 用開發(fā)應(yīng)用的邏輯結(jié)構(gòu)變得非常簡單直觀。3 MVC在IOS中應(yīng)用的步驟目前,基于IOS平臺的APP有一百多萬個,這些 APP的 開發(fā)大都采用 MVC 模式進行,一般情況下基于 MVC 模式開 發(fā)應(yīng)用需要分如下幾步來進行:(1)分析問題,

9、對 APP進行分解;弄清楚 APP的核心 功能有哪些,包含哪些數(shù)據(jù),這些數(shù)據(jù)中哪些是需要用戶輸 入的、哪些是需要輸出的,如何獲取或顯示這些數(shù)據(jù);根據(jù) 上文分析,我們需要在這個階段弄清APP的業(yè)務(wù)對象,應(yīng)為每個業(yè)務(wù)對象將對應(yīng)一個模型,因此這些模型要么是業(yè)務(wù)數(shù) 據(jù),要么是業(yè)務(wù)操作,需要針對該應(yīng)用設(shè)計出模型部分,并 使用對象對模型進行封裝。( 2)設(shè)計視圖并實現(xiàn);根據(jù)APP的功能設(shè)計,不論是核心功能或是輔助功能,將有 若干個用戶界面,這些界面將對應(yīng)若干個視圖對象,它們將 從模型中獲取數(shù)據(jù),或是將作為數(shù)據(jù)界面往模型中傳入數(shù)據(jù)。它是APP的用戶界面,也是APP的表現(xiàn)形式。根據(jù)蘋果公司的HIG (人機交互

10、界面準則)和用戶界面在APP銷售階段的重要作用,需要開發(fā)者花大量的時間和精力在視圖設(shè)計上。( 3)設(shè)計并實現(xiàn)多個控制器;控制器是連接模型和視 圖的橋梁。每一個視圖都應(yīng)有對應(yīng)的用戶操作,而每個用戶 操作也會有相應(yīng)的響應(yīng)時間和行為要求,根據(jù)APP功能需要,控制器將使用特定的方法去影響特定事件,以達到調(diào)節(jié)視圖 的或影響模型的作用,因此要為視圖需求去實現(xiàn)控制器。在 APP設(shè)計中,還應(yīng)注意控制器的獨立性,確保控制器能更加 靈活,以及便于實現(xiàn)不同的操作模式。4 結(jié)語MVC 模式由于其結(jié)構(gòu)清晰等特性, 不僅在大型軟件開發(fā) 中的應(yīng)用日漸廣泛,更因為iPhone、iPad的市場占有率提高, 人們對蘋果移動設(shè)備的

11、喜愛,以及蘋果APP開發(fā)的需求增大, 而大受開發(fā)者重視,本文介紹了 iOS平臺下使用MVC模式開 發(fā)APP的一般步驟,分析了 MVC的優(yōu)缺點,這也是MVC設(shè) 計模式體現(xiàn)APP開發(fā)思想和程序設(shè)計思路。但作為開發(fā)人 員創(chuàng)造性的勞動者, 還應(yīng)充分利用自身特長。 不斷改進, 努力增加軟件的可維護性、可重用性、可伸縮性、可靠性和 安全性,為市場需求設(shè)計出更多更好的軟件。參考文獻1黎永良,崔杜武.MVC設(shè)計模式的改進與應(yīng)用J計 算機工程, 2005( 9): 96-97.2 孫凌燕,陸保嵐,孫健 .基于 Struts 的 Web 應(yīng)用框 架設(shè)計與研究J計算機工程,2005 ( 8): 57-60.3 Gary Bennett , Mitch Fishe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論