設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié),GOF提出了23種設(shè)計模式
工廠模式
- 簡單工廠模式(靜態(tài)工廠模式)
簡單工廠模式不屬于23種GOF設(shè)計模式之一,是工廠方法模式的特殊實現(xiàn)(工廠模式包含簡單工廠模式)
類似:賣早飯的張婆婆:可以做茶葉蛋,包子,稀飯。
iOS中:直接體現(xiàn)是反射機制。
簡單工廠模式的實質(zhì)是由一個工廠類根據(jù)傳入的參數(shù),動態(tài)決定應(yīng)該創(chuàng)建哪一個產(chǎn)品類(這些產(chǎn)品類繼承自一個父類或接口)的實例
- 工廠模式
工廠方法使用OOP的多態(tài)性,將工廠和產(chǎn)品都抽象出一個基類,在基類中定義統(tǒng)一的接口,然后在具體的工廠中創(chuàng)建具體的產(chǎn)品。
類似:納愛斯集團建造的只生產(chǎn)洗衣液的工廠和只生產(chǎn)洗潔精的工廠。
可以有多種工廠,工廠有共同的接口,一個工廠只能產(chǎn)生一種產(chǎn)品,比起簡單工廠,工廠方法就不需要判斷,耦合度低了不少。
抽象工廠
可以產(chǎn)生多個系列的產(chǎn)品,有2個維度的產(chǎn)品。
類似:KFC老板生產(chǎn)可樂系列產(chǎn)品、漢堡系列產(chǎn)品,每種系列產(chǎn)品又分大,中,小三種。
單例模式
享元模式
通過共享已存在的對象,減少創(chuàng)建對象內(nèi)存開銷的設(shè)計模式被稱作享元模式。
類似:人們從石家莊去北京乘坐火車。
iOS中:在iOS開發(fā)中,享元模式的最佳實踐就是UITableView的復(fù)用機制——超出屏幕外的單元格統(tǒng)一被回收放到一個復(fù)用隊列之中,等待著需要新的單元格時進行復(fù)用
附
工廠模式
設(shè)計模式深入學(xué)習(xí)IOS版(4)抽象工廠模式
iOS 簡單工廠模式、抽象工廠模式~詳解