大家都知道妇斤,在移動設計開發(fā)中有很多種模式,最常用的單例設計模式丹拯、MVC設計模式站超、工廠設計模式、KVO乖酬、通知死相、代理等等。使用設計模式的目的:為了代碼可重用性咬像、讓代碼更容易被他人理解算撮、保證代碼可靠性双肤。
而架構設計是宏觀的、全面的將設計魔術組織起來解決整個應用系統(tǒng)的方案钮惠。架構設計是人們對一個結構內的元素及元素間關系的一種主觀映射的產物茅糜。一個好的架構設計有著良好的可復用性和可擴展性,這樣可以滿足用戶不斷變化的需求素挽。
低耦合企業(yè)級系統(tǒng)架構設計
我們知道蔑赘,軟件設計的原則是提高軟件系統(tǒng)的“可復用性”和“可擴展性”。系統(tǒng)架構設計采用層次劃分的方式预明,層次之間是低耦合的缩赛,層次的內部是高內聚的。如下圖:
表示層:用戶和系統(tǒng)交互的組件集合撰糠。用戶通過提交請求或者發(fā)出指令酥馍,系統(tǒng)接收用戶的請求或者指令,然后將請求或者指令調往下一層阅酪,最終將結果返回這一層旨袒。表示層是用戶交互和數(shù)據的展示,不應具有業(yè)務邏輯术辐。
業(yè)務邏輯層:接收處理表示層的指令和數(shù)據砚尽,進行業(yè)務邏輯處理,并將結果返回表示層辉词。
數(shù)據持久層:數(shù)據持久層用于訪問信息系統(tǒng)層必孤,即訪問數(shù)據庫或文件操作。
信息系統(tǒng)層:系統(tǒng)數(shù)據來源瑞躺,如數(shù)據庫敷搪、文件、網絡數(shù)據等幢哨。
這是一個層次分明上下層關系赡勘。沒有下層就沒有上層。信息系統(tǒng)層是最底層嘱么,是所有層的基礎狮含,我們在開發(fā)的時候應該先做下層在做上層。
iOS分層架構設計
ios應用也需要架構設計曼振,但不是不一定都采用分層架構設計几迄。一般而言,有關信息處理的應用大多采用分層架構設計冰评,但是像游戲等應用就不會采用這種分層架構設計映胁。
表示層:UIKit Framework構成,如視圖甲雅、控制器解孙、控件坑填、事件處理等。
業(yè)務邏輯層:采用的框架根據業(yè)務而定弛姜。
數(shù)據持久層:網絡數(shù)據的訪問或者本地數(shù)據訪問脐瑰。
信息系統(tǒng)層:信息來源分為本地和網絡。
在iOS平臺中廷臼,分層架構有多種模式苍在。
首先我們先熟悉:工程和工作空間、靜態(tài)庫和框架之間的關系荠商。