六大設計原則:單一職責原則假颇、依賴倒置原則、開閉原則骨稿、里氏替換原則笨鸡、接口隔離原則、迪米特法則坦冠;
單一職責原則:一個類只負責一個事(UIView,Calayer)
開閉原則:
對修改關閉形耗、對擴展開發(fā)。(避免對類的反復修改辙浑,類的數(shù)據(jù)結(jié)構(gòu)設定后激涤,可利用擴展的方式,修改)
接口隔離原則:(UITableView的兩個協(xié)議)
使用多個專門協(xié)議判呕,避免龐大協(xié)議:dataSource(數(shù)據(jù)源)倦踢,delegate(回調(diào)代理事件)
里氏替換原則:(KVO)(A-->NSKVONotifying_A)
父類可以被自類無縫替換,且原有功能不受影響侠草。
迪米特法則:
一個對象應該對其他對象有盡可能少的了解辱挥,成員變量以及方法。
高內(nèi)聚 低耦合
依賴倒置原則:
抽象不應該依賴具體實現(xiàn)边涕,具體實現(xiàn)可以依賴抽象晤碘。
向我們使用的數(shù)據(jù)的增刪改查褂微,只需要報露接口,不需要讓調(diào)用方知道园爷,我們是使用的那種的存儲方式宠蚂。
責任鏈模式:
一個需求變更邏輯問題?業(yè)務流程調(diào)整童社?
橋接模式:
解耦問題:
適配器:對象適配器求厕、類適配器
通過成員變量的方式集成要被更改的類,比如說:要修改類A,直接在創(chuàng)建一個類扰楼,并將要修改的類呀癣,創(chuàng)建成員變量。
單例模式:
創(chuàng)建的方式:
重寫兩個方法:
allocWithZone: && copyWithZone: 防止創(chuàng)建新的對象灭抑。
命令模式:行為參數(shù)化,降低代碼重合度抵代。
圖片緩存框架的實現(xiàn):
構(gòu)建:
Manager(負責調(diào)度) 內(nèi)存緩存 ->磁盤緩存(解碼&&壓縮/解壓縮)-> 網(wǎng)絡下載-->存儲在內(nèi)存緩存中腾节。
記錄器的類別:
頁面式(push開始,pop結(jié)束)
流式(閱讀瀏覽某條新聞時間)
自定義式(視頻播放開始結(jié)束)
RN:數(shù)據(jù)流--->子節(jié)點沒有處理刷新數(shù)據(jù)的能力荤牍,使用反向刷新的操作案腺。
橋接模式:
(1) 抽象類A(調(diào)用方) 有屬性抽象類B(數(shù)據(jù)層) , 抽象A 或 B 又有 不同的抽象A、B的子類與之對應康吵。子類中分別實現(xiàn)父類方法劈榨,調(diào)用的不同的邏輯。這樣就實現(xiàn)了不同的數(shù)據(jù)類耦合的現(xiàn)象晦嵌。
在調(diào)用的時候同辣,分別取不同的組合就可以了。
責任鏈模式:需求變更問題-------
轉(zhuǎn)發(fā)評論贊 :命令模式:行為參數(shù)化惭载。 降低代碼重合度旱函。