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

六大設(shè)計(jì)原則:?jiǎn)我宦氊?zé)原則、依賴倒置原則、開閉原則、里氏替換原則、接口隔離原則、迪米特法則;

單一職責(zé)原則:一個(gè)類只負(fù)責(zé)一個(gè)事(UIView,Calayer)

開閉原則:
對(duì)修改關(guān)閉、對(duì)擴(kuò)展開發(fā)。(避免對(duì)類的反復(fù)修改,類的數(shù)據(jù)結(jié)構(gòu)設(shè)定后,可利用擴(kuò)展的方式,修改)

接口隔離原則:(UITableView的兩個(gè)協(xié)議)
使用多個(gè)專門協(xié)議,避免龐大協(xié)議:dataSource(數(shù)據(jù)源),delegate(回調(diào)代理事件)

里氏替換原則:(KVO)(A-->NSKVONotifying_A)
父類可以被自類無縫替換,且原有功能不受影響。

迪米特法則:
一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有盡可能少的了解,成員變量以及方法。
高內(nèi)聚 低耦合

依賴倒置原則:
抽象不應(yīng)該依賴具體實(shí)現(xiàn),具體實(shí)現(xiàn)可以依賴抽象。

向我們使用的數(shù)據(jù)的增刪改查,只需要報(bào)露接口,不需要讓調(diào)用方知道,我們是使用的那種的存儲(chǔ)方式。

責(zé)任鏈模式:
一個(gè)需求變更邏輯問題?業(yè)務(wù)流程調(diào)整?
橋接模式:
解耦問題:

適配器:對(duì)象適配器、類適配器

通過成員變量的方式集成要被更改的類,比如說:要修改類A,直接在創(chuàng)建一個(gè)類,并將要修改的類,創(chuàng)建成員變量。

單例模式:
創(chuàng)建的方式:
重寫兩個(gè)方法:
allocWithZone: && copyWithZone: 防止創(chuàng)建新的對(duì)象。

命令模式:行為參數(shù)化,降低代碼重合度。

圖片緩存框架的實(shí)現(xiàn):

構(gòu)建:

Manager(負(fù)責(zé)調(diào)度) 內(nèi)存緩存 ->磁盤緩存(解碼&&壓縮/解壓縮)-> 網(wǎng)絡(luò)下載-->存儲(chǔ)在內(nèi)存緩存中。

記錄器的類別:
頁面式(push開始,pop結(jié)束)
流式(閱讀瀏覽某條新聞時(shí)間)
自定義式(視頻播放開始結(jié)束)

RN:數(shù)據(jù)流--->子節(jié)點(diǎn)沒有處理刷新數(shù)據(jù)的能力,使用反向刷新的操作。

橋接模式:

(1) 抽象類A(調(diào)用方) 有屬性抽象類B(數(shù)據(jù)層) , 抽象A 或 B 又有 不同的抽象A、B的子類與之對(duì)應(yīng)。子類中分別實(shí)現(xiàn)父類方法,調(diào)用的不同的邏輯。這樣就實(shí)現(xiàn)了不同的數(shù)據(jù)類耦合的現(xiàn)象。
在調(diào)用的時(shí)候,分別取不同的組合就可以了。

責(zé)任鏈模式:需求變更問題-------

轉(zhuǎn)發(fā)評(píng)論贊 :命令模式:行為參數(shù)化。 降低代碼重合度。

?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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