不全凭戴。常用的省古。主要分為三大類
·創(chuàng)建型
·構(gòu)造性
·行為型
- 簡(jiǎn)單工廠模式:一個(gè)工廠生產(chǎn)一個(gè)要求的同種對(duì)象旱易。 eg:字符串
- 方法工廠模式: 一個(gè)工廠生產(chǎn)多個(gè)要求的同種對(duì)象 份乒。 cell工廠模式。 根據(jù)model 類型不同椰憋,初始化多個(gè)子類工廠類創(chuàng)建不同的cell對(duì)象厅克。
3.抽象工廠模式:跟方法工廠模式類似。不過(guò)多有多個(gè)子類工廠橙依,并且子類工廠可以生產(chǎn)出不同對(duì)象证舟。類似 子類工廠A可以 生產(chǎn) 產(chǎn)品A 和產(chǎn)品B 。 既可以創(chuàng)建cell 窗骑。 又可以創(chuàng)建button女责。
4.單利模式。常駐內(nèi)存的一個(gè)類创译。eg:用戶信息單利
5.創(chuàng)建者模式: 更為復(fù)雜的 抽象工廠模式 抵知。 用來(lái)創(chuàng)建更加復(fù)雜的產(chǎn)品。 將復(fù)雜的產(chǎn)品软族,拆分開刷喜。 分別創(chuàng)建。最后組合立砸。相較于抽象工廠模式掖疮。我們我們生產(chǎn)了A 和B ,A 和B 組合在一起才是客戶想要的產(chǎn)品仰禽。但是A 和B 是分開創(chuàng)建的氮墨。
適配器模式:官義:將一個(gè)類的api轉(zhuǎn)換成客戶想要的api。adapter設(shè)計(jì)模式可以將原本由于接口不兼容的類之間可以完成對(duì)接吐葵。eg:(week规揪,H5 )SDK要做的圖片加載 緩存。每個(gè)對(duì)接app都可能采取不同的方式處理處理下載緩存方案温峭。沒辦法做到統(tǒng)一猛铅。 這時(shí)對(duì)象適配器的將提供一個(gè)api供外部app適配。
裝飾器模式: 官義:在不修改原類代碼基礎(chǔ)上 給一個(gè)類動(dòng)態(tài)添加行為凤藏,方法奸忽。 eg:OC的拓展,類別揖庄。 swift 的協(xié)議代理栗菜,拓展,類別都可以蹄梢。
橋接模式:官義:A想要B 通信疙筹, 但是AB之間不能通過(guò)繼承,引用等方式直接使用。eg: JS與ios交互而咆, jsbrigecore 和 jsmessagehandle 霍比。 oc和swift 的橋接文件。
代理模式: A 要想做一件自己做不到的事情暴备,然后A叫B 幫他做悠瞬。
純?cè)J剑簝?nèi)存中過(guò)度的創(chuàng)建相似 ./相同的類。 cell重用
外觀設(shè)計(jì)模式:SDK 開發(fā)的時(shí)候 api盡量簡(jiǎn)潔涯捻。
觀察者模式:KVO,通知浅妆。 主動(dòng)觀察到一個(gè)狀態(tài)變化,然后做一些事情汰瘫。
中介者設(shè)計(jì)模式: CTM 狂打。 A和B 之間通信,不通過(guò)引用混弥,不是顯示的調(diào)用趴乡。通過(guò)中介者轉(zhuǎn)發(fā)。解耦蝗拿。