iOS開(kāi)發(fā)(15)架構(gòu)設(shè)計(jì)

何為架構(gòu)?

  • 架構(gòu)(Architecture)
    軟件開(kāi)發(fā)中的設(shè)計(jì)方案
    類(lèi)與類(lèi)之間的關(guān)系、模塊與模塊之間的關(guān)系、客戶端與服務(wù)端的關(guān)系

  • 經(jīng)常聽(tīng)到的架構(gòu)名詞
    MVC、MVP、MVVM、VIPER、CDD
    三層架構(gòu)、四層架構(gòu)
    ......

1、MVC - Apple版

1.png

2、MVC – 變種


2.png

3、MVP


3.png

4、MVVM


4.png

設(shè)計(jì)模式

  • 設(shè)計(jì)模式(Design Pattern)
    是一套被反復(fù)使用、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)
    使用設(shè)計(jì)模式的好處是:可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性
    一般與編程語(yǔ)言無(wú)關(guān),是一套比較成熟的編程思想

  • 設(shè)計(jì)模式可以分為三大類(lèi)
    創(chuàng)建型模式:對(duì)象實(shí)例化的模式,用于解耦對(duì)象的實(shí)例化過(guò)程
    單例模式、工廠方法模式,等等

  • 結(jié)構(gòu)型模式:把類(lèi)或?qū)ο蠼Y(jié)合在一起形成一個(gè)更大的結(jié)構(gòu)
    代理模式、適配器模式、組合模式、裝飾模式,等等

  • 行為型模式:類(lèi)或?qū)ο笾g如何交互,及劃分責(zé)任和算法
    觀察者模式、命令模式、責(zé)任鏈模式,等等

相關(guān)參考

  • 數(shù)據(jù)結(jié)構(gòu)與算法
    嚴(yán)蔚敏,《數(shù)據(jù)結(jié)構(gòu)》
    《大話數(shù)據(jù)結(jié)構(gòu)與算法》

  • 網(wǎng)絡(luò)
    《HTTP權(quán)威指南》
    《TCP/IP詳解卷1:協(xié)議》

面試題

1、講講 MVC、MVVM、MVP,以及你在項(xiàng)目里具體是怎么寫(xiě)的?

2、你自己用過(guò)哪些設(shè)計(jì)模式?

3、一般開(kāi)始做一個(gè)項(xiàng)目,你的架構(gòu)是如何思考的?

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

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

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