? ? ? ?采用純Swift的改革派方式;
? ? ? ?采用純Objective-C的保守派方式;
? ? ? ?采用Swift調(diào)用Objective-C的左傾改良派方式;
? ? ? ?采用Objective-C調(diào)用Swift的右傾改良派方式。
? ? ? ?從技術(shù)上講,無(wú)論是否采用分層架構(gòu)設(shè)計(jì),都可以用上述4種方式來(lái)選擇語(yǔ)言。也就是說(shuō),可以在同一層中采用單一語(yǔ)言和混合搭配,也可以在不同層之間采用單一語(yǔ)言和混合搭配。但是從設(shè)計(jì)規(guī)范上講,一般不會(huì)在同一層中使用混合搭配,在不同層之間可以混合搭配。基于圖1進(jìn)行分層,如果只考慮業(yè)務(wù)邏輯層和數(shù)據(jù)持久層采用相同語(yǔ)言的情況下,那么可以混合搭配出4種模式,具體如下。
iOS平臺(tái)中信息處理應(yīng)用的分層架構(gòu)設(shè)計(jì)圖?
? ? ? ?ObjC-ObjC-ObjC,縮寫(xiě)為OOO:用Objective-C語(yǔ)言實(shí)現(xiàn)表示層,用Objective-C語(yǔ)言實(shí)現(xiàn)業(yè)務(wù)邏輯層,用Objective-C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)持久層。
? ? ? ?Swift-Swift-Swift,縮寫(xiě)為SSS:用Swift語(yǔ)言實(shí)現(xiàn)表示層,用Swift語(yǔ)言實(shí)現(xiàn)業(yè)務(wù)邏輯層,用Swift語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)持久層。
? ? ? ?Swift-ObjC-ObjC,縮寫(xiě)為SOO:用Swift語(yǔ)言實(shí)現(xiàn)表示層,用Objective-C語(yǔ)言實(shí)現(xiàn)業(yè)務(wù)邏輯層,用Objective-C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)持久層。
? ? ? ObjC-Swift-Swift,縮寫(xiě)為OSS:用Objective-C語(yǔ)言實(shí)現(xiàn)表示層,用Swift語(yǔ)言實(shí)現(xiàn)業(yè)務(wù)邏輯層,用Swift語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)持久層。
? ? ? ?另外,如果考慮到代碼的組織形式,可以分為如下3種組織方式:
? ? ? ?同一工程的分層,用P(Project)表示;
? ? ? ?基于靜態(tài)鏈接庫(kù)實(shí)現(xiàn)的同一個(gè)工作空間不同工程的分層,用WL(Workspace Library)表示;
? ? ? ?基于自定義框架實(shí)現(xiàn)的同一個(gè)工作空間不同工程的分層,用WF(Workspace framework)表示。
? ? ? ?因此,經(jīng)過(guò)組合,可以得到表1所述的結(jié)果。
表1
? ? ? ?關(guān)于IOS開(kāi)發(fā)中的10種分層模式就先介紹到這里,如果還有哪些不明白的地方,可隨時(shí)來(lái)電咨詢,百恒網(wǎng)絡(luò)將專業(yè)為您解答!