iOS的設(shè)計(jì)模式分析
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評論(0)
背景: 最近正在考慮換工作,恰好中間有空檔期,就來深入學(xué)習(xí)一下 iOS 的設(shè)計(jì)模式,雖然都老生常談了,但是這方面確實(shí)是自己的學(xué)習(xí)盲區(qū),遂抽空來繼續(xù)深入研究一下吧
文章目錄
1 對象創(chuàng)建
1.1原型(Prototype)
1.2工廠方法(Factory Method)
1.3抽象工廠(Abstract Factory)
1.4生成器(Builder)
1.5單例(Singleton)
2 接口適配
2.1 適配器(Adapter)
2.2 橋接(Bridge)
2.3 外觀(Facade)
3 對象去耦
3.1 中介者(Mediator)
3.2 觀察者(Observer)
4 抽象集合
4.1 組合(Composite)
4.2 迭代器(Iterator)
5 行為擴(kuò)展
5.1 訪問者(Visitor)
5.2 裝飾(Decorator)
5.3 責(zé)任鏈(Chain of Responsibility)
6 算法封裝
6.1 模板方法(Template Method)
6.2 策略(Strategy)
6.3 命令(Command)
7 性能與對象訪問
7.1 享元(Flyweight)
7.2 代理(Proxy)
8 對象狀態(tài)
8.1 備忘錄(Memento)
1 對象創(chuàng)建
1.1 原型(Prototype)
定義:使用原型實(shí)例指定創(chuàng)建對象的種類,并通過復(fù)制這個(gè)原型創(chuàng)建新的對象。
NSArray *array = [[NSArray alloc] initWithObjects:@1, nil];
array 就是原型了,array2 以 array 為原型,通過 copy 操作創(chuàng)建了 array2。
當(dāng)創(chuàng)建的實(shí)例非常復(fù)雜且耗時(shí),或者新實(shí)例和已存在的實(shí)例值相同,使用原型模式去復(fù)制已經(jīng)存在的實(shí)例效率更高。
1.2 工廠方法(Factory Method)
定義: 創(chuàng)建對象的接口,讓子類決定實(shí)例化哪一個(gè)類。工廠方法使得類的實(shí)例化延遲到其子類。
工廠方法的最初定義好像是專注于讓子類決定創(chuàng)建什么對象,有一種變體,抽象類使用工廠方法創(chuàng)建其私有子類或任何其他類的對象,
image.png
如上圖,+ create():Product 就是工廠方法,ConcreatFactoryA 與 ConcreateFactoryB 就是兩個(gè)工廠類,ConcreateProductA 與 ConcreateProductB 就是兩個(gè)工廠類對應(yīng)的產(chǎn)品類,通過不同的工廠生產(chǎn)不同類型的產(chǎn)品,且兩個(gè)產(chǎn)品類最終返回的是他們的父類 Product,隱藏了對象的具體類型。工廠方法模式讓創(chuàng)建的對象擁有一組共同的接口,使我們無需關(guān)心做了不同類型接口的具體實(shí)現(xiàn),只需要調(diào)用 Product 的接口就行。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
iOS的設(shè)計(jì)模式分析下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問題? 377
- 華為全新鴻蒙蓄勢待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機(jī)系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機(jī)出貨7000萬部;消息稱 MiOS 僅限國內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機(jī)身過熱 216
- Testin云測兼容和真機(jī)服務(wù)平臺中上線iPhone 15系列手機(jī) 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運(yùn)放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128
- 昆侖太科發(fā)布支持國產(chǎn)飛騰騰銳D2000芯片的開源BIOS固件版本 448