iOS開發入門:移動平台架構設計

來源:互聯網
上載者:User

低耦合企業級系統架構設計

我們往往稱JavaEE或.Net 開發的產品為“系統”,而移動平台(主要是:Android、iOS和Window Phone)開發的產品為“應用”。“系統”比較複雜,需要架構設計,而“應用”相對比較簡單,這是不是意味著我們不需要考慮架構問題呢?

我 們首先瞭解一下企業級系統架構設計。軟體設計的原則是提高軟體系統的“可複用性”和“可擴充性”,系統架構設計採用層次劃分方式,這些層次之間是  松耦合的,層次的內部是高內聚的。降低耦合是軟體設計的目標,能夠設計出低耦合的系統,就意味著我們的系統具有“可複用性”和“可擴充性”。通用低耦合  JavaEE和.Net企業級系統架構圖。

展示層是使用者與系統互動的組件集合,使用者通過這一層向系統提交請求或發出指令,系統通過這一層接收使用者請求或指令,然後,將指令消化吸收後調用下一層,再將調用的結果展現到這一層。展示層應該是輕薄的不應該具有商務邏輯。

業務層是系統的核心業務處理層,負責接收展示層的指令和資料,消化吸收後,進行組織商務邏輯的處理,並將結果返回給展示層。

資料持久層是服務層用於訪問資料庫層,從設計規範上講為了降低耦合度,服務層不應該具有訪問資料庫的代碼,訪問資料庫的代碼應該放到資料持久層中。

資訊系統層,是系統的資料來源,可以是資料庫、檔案、遺留系統和網路資料。

移動平台的分層架構設計

移動平台的應用是縮小版本的系統,它也需要架構設計,但並非所有的應用都一定基於通用低耦合企業級系統架構,一般而言主要是涉及資訊處理的應用才使用這種架構設計模式,例如:一些遊戲有自己的遊戲引擎,引擎也屬於架構設計。iOS平台一般資訊處理應用分層架構設計圖。

展示層,iOS中的展示層是由UIKit Framework構成的,它包括我們前面學習的視圖、控制器、控制項和事件處理等內容;

商務邏輯層,採用什麼架構要據具體的業務而定,但一般是具有一定業務處理功能的Objective-C和C++封裝的類,或者是C封裝的函數。

資料持久層,提供本地或網路資料訪問,它可能是訪問SQLite資料API函數,也可能是CoreData技術,或是訪問檔案的NSFileManager,或是網路通訊等技術,採用什麼方式要看資訊系統層是什麼。

資訊系統層,就iOS而言它的資訊來源分為:本地和網路。本機資料可以放入檔案中也可以放在資料庫中,目前iOS本機資料庫採用SQLite3。網路可以是某個雲端服務,也可以是一般的Web服務。

基於同一工程的分層

架 構對於我們iPhone和iPad開發有著很現實的意義。如果我們要編寫一個基於iOS(iPhone和iPad兩個平台)“My備忘錄”應用,  它具有:增加、刪除和查詢備忘錄的準系統, “備忘錄”應用使用案例圖,分層設計之後,展示層可以有不同iPhone版和iPad版本,而且商務邏輯層、數  據持久層和資訊系統層都可以公用。這樣可以大大減少我們的工作量,這就是分層設計的好處。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.