iOS知識梳理6:iOS分層架構(gòu)設計

前面提到的單例模式,委托模式,觀察者模式,工廠模式等等都是局部的設計模式.....這個沒有什么爭議....
而MVC以及其一系列的設計模式...就我個人的觀點來說...也應該屬于宏觀架構(gòu)設計里面....但是很多面試的試題會把兩者混為一談,,
比方,問你"除了MVC你還知道哪些設計模式?"...我的觀點應該是"MVVM,MVP,VIPER"這些...但是很多網(wǎng)絡上的答案都是給的"單例模式,委托模式"等等什么的....這點我也比較困惑...

不過,這一章要講的是毫無爭議的宏觀架構(gòu)設計:
分層架構(gòu)設計...

具體如下:

  • 表示層
    UIKit Framework
    用戶與系統(tǒng)的交互的組件的集合.
  • 業(yè)務邏輯層
    系統(tǒng)的核心業(yè)務處理層
  • 數(shù)據(jù)持久層
    SQLite API, Core Data, HTTP等網(wǎng)絡通信技術
    用于訪問信息層
  • 信息系統(tǒng)層
    SQLite DB,文件系統(tǒng),云服務
    系統(tǒng)的數(shù)據(jù)來源

補充1.

我們再開發(fā)一個企業(yè)級系統(tǒng)的順序應該是,先信息系統(tǒng)層,然后數(shù)據(jù)持久層,然后業(yè)務邏輯層,最后是表示層

補充2.

開發(fā)者可以通過靜態(tài)連接庫(.a + .h)文件或者框架(Framework)把自己的業(yè)務邏輯層和數(shù)據(jù)持久層封裝起來,分享給其他開發(fā)者.
其中靜態(tài)連接庫中不能有swift代碼,只能用objective-c

補充3.

(可以忽略掉下面的補充...)

(這種東西一般面試不會問到的....其他地方也很少見到有這種分類,這些符號應該都來自于<ios開發(fā)指南這本書>..算是一中學習思路了吧....可以更好理解一下靜態(tài)庫和框架,,已經(jīng)swift和oc混合如何開發(fā)...)

根據(jù)使用的語言不通可以分為4個種類:
(業(yè)務邏輯和數(shù)據(jù)持久層用同一種語言,0表示oc,s表示swift)
ooo, sss, soo, oss

而代碼組織形式的不同,又可以有3種:
P表示project,同一工程分層
WL表示workspace library
WF表示workspace framework

所以這些可以組合成10種結(jié)果:
(其中用靜態(tài)庫的業(yè)務邏輯和數(shù)據(jù)持久層不能用swift)
POOO; PSSS; PSOO; POSS
WLOOO; WLSOO
WFOOO; WFSSS ; WFSOO; WFOSS

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容