文秘知識 iOS系統應用開發規範研究

2023-02-09 03:09:06 字數 2904 閱讀 4863

摘要:ios平台應用開發佔據了智慧型移動平台應用開發的半壁江山,app應用需求量大,而蘋果智慧型移動裝置及其應用軟體也是新型移動行業的潮流引導者。文中以ios系統平台應用開發為例,綜合運用比較分析及實證研究等方法,深入討論了ios系統應用開發常用的開發模型及其特點、框架設計原則、程式邏輯及**編寫規範,工程規範等問題,並結合實踐經驗**了各類規範的應用原則,分類總結了ios平台應用開發的主要工程規範及實際實施方法,對從事ios系統開發的人t具有重要參照價值,對所有智慧型移動平台應用開發均有一定參考意義。

關鍵詞:ios系統;應用開發;規範化;app應用

中圖分類號:tp311 文獻標識碼:a 文章編號:2095-1302(2019)06-00-03

0 引言

眾所周知,軟體開發規範化是保證軟體開發效率和質量的重要手段,在智慧型移動終端應用開發領域更是如此。ios應用主要執行在iphone、ipod、ipad以及apple tv等蘋果系列產品上,市場占有率高,使用者群體龐大,因此各類應用種類繁多,且更新迅速。ios應用開發的規範性成為保證ios應用開發速度和效率的重要手段。

由於ios的封閉性,其應用開發的各類規範如流程規範、程式規範、**規範、ui設計規範等相對固定,對於ios應用開發者,尤其對入門新手而言,熟悉各類規範並在實際應用開發中靈活應用,才能最大程度減少錯誤,避免意外發生。

1 開發模型選擇

開發模型是巨集觀角度專案整體設計規範的體現,合適的開發模型可以提高專案開發效率,減少開發成本,並降低專案風險。瀑布模型是最早提出的開發模型,從上向下,從整體到部分逐步實現功能,符合人們分析問題的一般思路,與之相對應的還有噴泉模型,從下向上組合專案整體功能。此外,軟體專案開發中常見的開發模型還有原型模型,線性模型、螺旋模型、增量模型和敏感開發模型等,在移動應用開發實踐中,一般都是各種模型的混合使用,即不同部分根據具體情況採用不同的開發方法,充分利用彼此之間的互補性。

通過ios應用開發專案實踐分析,總結了如下幾條規律:

(1)ui模組在設計明確時採用線性模型,依據不同介面邏輯線性開發,ui設計不明確時,採用快速原型模型,以降低專案風險。

(2)資料通訊在後台伺服器介面明確時採用線性模型,按照請求、解析、顯示的順序完成。在後台介面不明確的情況下,採用邊做邊改的螺旋模型,可暫時擱置顯示部分功能。

(3)專案子模組的開發採用瀑布模型,線性符合大眾開發思維。功能模組逐級實現專案,可採用增量開發模型。

(4)對於需求分析不足的專案,特別是使用者希望盡快看到實物以確定設計的專案,宜採用快速原型模型。

(5)開發周期比較短的專案,為了提高開發效率並控制風險,宜採用敏感開發模型。

ios移動平台的應用開發多採用混合開發模型,混合開發模型能夠融合不同模型的優點,使專案的開發更高效、可行。通過實踐熟悉各種模型的特點,在開發中才能選取真正適合的模型,有的放矢,最大程度降低開發成本,提高開發效率。

2 合適的框架

在應用開發的規範性方面,框架至關重要。乙個合適的框架雖然不能解決所有問題,但它可以降低問題的複雜度,減少產生錯誤的概率。

2.1 清晰的層次結構

定義清晰的層次結構,首先要明確各層的主要功能:

(1)表示層(presentation layer)負責使用者介面設計(ui設計)和使用者介面檢視控制器(uiviewcontroller)的功能實現。

(2)業務邏輯服務層(businessservice layer))主要負責資料邏輯定義和**呼叫關係,鏈結上下兩層,承上啟下。

(3)資料訪問層(data access layer),負責具體的應用程式程式設計介面(api)構造,各層內部根據業務邏輯的複雜度又可採用多層結構。以資料訪問層為例,其內部又可以細分為網路層和持久化層。

一般而言,表示層直接使用邏輯層提供的模型(model)實現使用者介面設計(ui設計),有時會出現模型不一致但需求相同的介面展現,比如在有的app中,會話介面、搜尋介面和收藏介面都需要相同的**,而這三個模組的模型定義可能不同,要解決這個問題,就需要增加額外的檢視模型(viewmodel)層,用於解決模型不一致問題。

2.2 橫向分析

橫向上,各模組互相獨立,模組間僅通過設定的幾個有限介面通訊。最理想的狀態是除核心功能模組外,其他模組都可拔插。橫向模組的業務需求依賴性強,橫向模組一般依賴於業務需求,常被定義成各種服務(service)或管理器(manager),推薦做法是由統一的管理器負責相應服務的載入、解除安裝、監聽和分發。

此舉容易實現模組的可插拔,保證了公用特性的一致處理。微信的設計開發就遵從這一原則,幾乎所有的模組都從mm service繼承而來,由mm service center進行統一管理。

2.3 縱向分析

縱向上,各層次間依賴關係清晰,基本不出現逆向依賴。縱向的層次劃分所有app都相似,一般分為三個層次:

(1)遵守solid(單一功能、開閉原則、黎克特制替換、介面隔離以及依賴反轉)原則,每個類功能單一且封裝,物件(類,模組,函式等)對於擴充套件是開放的,對於修改是封閉的,隔離介面並反轉依賴關係,即高層模組不依賴低層模組,兩者都依賴於抽象介面。抽象介面不依賴於具體實現,具體實現依賴於抽象介面。這些設計原則並非ios 系統應用開發所獨有,所有軟體設計都應遵循這些基本設計規則。

(2)定義自己的ui基類,如ui view,ui view controller,ui table view cell等。定義後,所有子類(view,controller,cell等)都能方便的繼承已經定義好的基類共有行為。但需注意控制基類的規模,防止其過度膨脹,大基類不僅增加了排查問題的難度,還增加了**的理解難度。

在實踐應用中,基類中只能包含具有普遍性的特性和方法,其餘都在子類中實現。 (3)提供方便好用的工具類。一些好用的工具類往往會成為框架的重要組成部分,方便快捷地解決區域性問題,同時又不引入過多的複雜度。

例如使用鍵值監聽(kvo)容易發生add0()方法和remove()方法的不配對呼叫,那麼就需引入th observers and binders或者fb的kvo controller來解決這一問題。有時,某些核心模組需要被多個模組依賴,要降低其與其他模組的耦合度,可以引入類似xmpp的gcd multicast delegate工具進行解耦。

文秘知識 住院患者規範請假文書

1 患者住院期間未經醫生許可不得私自外出,如擅自外出,按自動出院處理。外出期間如發生病情變化或其他意外一律由患者本人負責。2 外出須經醫生批准,填寫住院患者外出請假條,寫明姓名 外出事由 離院時間 回院時間等,要有醫生簽字 患者或家屬簽字。3 外出之前 將所需繼續服用的藥物交給患者,外出期間服藥不得...

應用軟體系統開發合同

號系統開發合同 甲方 位址 法定代表人 乙方 位址 法定代表人 甲乙雙方經協商達成一致意見 乙方根據本合同專案內容和技術指標設計開發應用軟體系統,依據 中華人民共和國合同法 及相關法律法規的規定簽訂本合同。具體內容如下 本合同中內容不可空白不填,若無某一方面的規定,需註明 無 一 專案名稱 二 系統...

資料庫應用系統開發

第五章資料庫應用系統設計 本章將軟體工程角度,介紹建立資料庫應用系統的有關設計方法,主要包括資料庫應用系統設計的總體規劃 應用系統的需求分析 應用系統的總體設計以及實現等主要步驟的具體工作內容。5.1 資料庫應用系統設計概述 在這一節中,我們將從三方面,簡要介紹資料庫應用系統 dbas 設計的有關情...