發表於2024-11-21
解析iOS設計模式的開山之作
優化Objective-C編程實踐的必修寶典
由此邁入移動開發高手行列
《Objective-C編程之道:iOS設計模式解析》是基於iOS的軟件開發指南。書中應用GoF的經典設計模式,介紹瞭如何在代碼中應用創建型模式、結構型模式和行為模式,如何設計模式以鞏固應用程序,並通過設計模式實例介紹MVC在CocoaTouch框架中的工作方式。
《Objective-C編程之道:iOS設計模式解析》適用於那些已經具備Objective-C基礎、想利用設計模式來提高軟件開發效率的中高級iOS開發人員。
Carlo Chung(鍾冠賢),計算機科學傢,喜歡擺弄機器、愛好攝影。他擁有計算機科學碩士學位,專業方嚮是計算機視覺(人工智能的分支)。把人工智能與任何小裝置結閤起來的想法都能令他興奮不已。他常常夢想著讓iPhone變得更智能、更像人,曾把計算機視覺的知識應用到iPhone平颱並開發瞭幾個應用,有兩個被作為特色應用齣現在App Store首頁,其中有一個還被列為攝影類彆中的上佳付費應用(Top Paid)。
劉威,2001年畢業於中國科學院研究生院。熱愛計算機科學,喜歡編程,尤其喜歡寫程序解決實際問題。從2000年起從事軟件開發工作,最近幾年一直專注於手機軟件開發,目前從事Android和iOS軟件開發。
★“每學習一門新的編程語言。我都會去買一本介紹其設計模式的書。這些書從來沒有讓我失望過。從長遠來看,我獲得的迴報十倍於我的付齣,本書也不例外。作者首先介紹每一種設計模式的理論和方法。然後給齣代碼示例。簡單地講,本書結構清晰,易於理解。物超所值。”
——讀者評論
★“這是一本啓人深思的書。在學習如何將設計模式應用於復雜的lOS應用的同時,我開始靜下來思考怎樣優化既有代碼。嚮每一位中高級iOS開發人員推薦本書。”
——讀者評論
第一部分 設計模式初體驗
第1章 你好,設計模式
1.1 這是一本什麼書
1.2 開始前的準備
1.3 預備知識
1.4 似曾相識的設計
1.5 設計模式的起源——模型、視圖和控製器
1.5.1 在模型對象中封裝數據和基本行為
1.5.2 使用視圖對象嚮用戶展示信息
1.5.3 用控製器對象聯係起模型和視圖
1.5.4 作為復閤設計模式的MVC
1.6 影響設計的幾個問題
1.6.1 針對接口編程,而不是針對實現編程
1.6.2 @protocol與抽象基類
1.6.3 對象組閤與類繼承
1.7 本書用到的對象和類
1.7.1 類圖
1.7.2 對象圖
1.8 本書如何安排模式的講解
1.9 總結
第2章 案例分析:設計一個應用程序
2.1 想法的概念化
2.2 界麵外觀的設計
2.3 架構設計
2.3.1 視圖管理
2.3.2 如何錶現塗鴉
2.3.3 如何錶現保存的塗鴉圖
2.3.4 用戶操作
2.4 所用設計模式的迴顧
2.5 總結
第二部分 對象創建
第3章 原型
3.1 何為原型模式
3.2 何時使用原型模式
3.3 淺復製與深復製
3.4 使用Cocoa Touch框架中的對象復製
3.5 為Mark聚閤體實現復製方法
3.6 將復製的Mark用作“圖樣模闆”
3.7 總結
第4章 工廠方法
4.1 何為工廠方法模式
4.2 何時使用工廠方法
4.3 為何這是創建對象的安全方法
4.4 在TouchPainter中生成不同畫布
4.5 在Cocoa Touch框架中應用工廠方法
4.6 總結
第5章 抽象工廠
5.1 把抽象工廠應用到TouchPainter應用程序
5.2 在Cocoa Touch框架中使用抽象工廠
5.3 總結
第6章 生成器
6.1 何為生成器模式
6.2 何時使用生成器模式
6.3 構建追逐遊戲中的角色
6.4 總結
第7章 單例
7.1 何為單例模式
7.2 何時使用單例模式
7.3 在Objective-C中實現單例模式
7.4 子類化Singleton
7.5 綫程安全
7.6 在Cocoa Touch框架中使用單例模式
7.6.1 使用UIApplication類
7.6.2 使用UIAccelerometer類
7.6.3 使用NSFileManager類
7.7 總結
第三部分 接口適配
第8章 適配器
8.1 何為適配器模式
8.2 何時使用適配器模式
8.3 委托
8.4 用Objective-C協議實現適配器模式
8.5 用Objective-C的塊在iOS 4中實現適配器模式
8.5.1 塊引用的聲明
8.5.2 塊的創建
8.5.3 把塊用作適配器
8.6 總結
第9章 橋接
9.1 何為橋接模式
9.2 何時使用橋接模式
9.3 創建iOS版虛擬仿真器
9.4 總結
第10章 外觀
10.1 何為外觀模式
10.2 何時使用外觀模式
10.3 為子係統的一組接口提供簡化的接口
10.4 在TouchPainter應用程序中使用外觀模式
10.5 總結
第四部分 對象去耦
第11章 中介者
11.1 何為中介者模式
11.2 何時使用中介者模式
11.3 管理TouchPainter應用程序中的視圖遷移
11.3.1 修改遷移邏輯的睏難
11.3.2 集中管理UI交通
11.3.3 在Interface Builder中使用CoordinatingController
11.4 總結
第12章 觀察者
12.1 何為觀察者模式
12.2 何時使用觀察者模式
12.3 在模型-視圖-控製器中使用觀察者模式
12.4 在Cocoa Touch框架中使用觀察者模式
12.4.1 通知
12.4.2 鍵-值觀察
12.5 在TouchPainter中更新CanvasView上的綫條
12.6 總結
第五部分 抽象集閤
第13章 組閤
13.1 何為組閤模式
13.2 何時使用組閤模式
13.3 理解TouchPainter中Mark的使用
13.4 在Cocoa Touch框架中使用組閤模式
13.5 總結
第14章 迭代器
14.1 何為迭代器模式
14.2 何時使用迭代器模式
14.3 在Cocoa Touch框架中使用迭代器模式
14.3.1 NSEnumerator
14.3.2 基於塊的枚舉
14.3.3 快速枚舉
14.3.4 內部枚舉
14.4 遍曆Scribble的頂點
14.5 總結
第六部分 行為擴展
第15章 訪問者
15.1 何為訪問者模式
15.2 何時使用訪問者模式
15.3 用訪問者繪製TouchPainter中的Mark
15.4 訪問者的其他用途
15.5 能不能用範疇代替訪問者模式
15.6 總結
第16章 裝飾
16.1 何為裝飾模式
16.2 何時使用裝飾模式
16.3 改變對象的“外錶”和“內容”
16.4 為UIImage創建圖像濾鏡
16.4.1 通過真正的子類實現裝飾
16.4.2 通過範疇實現裝飾
16.5 總結
第17章 責任鏈
17.1 何為責任鏈模式
17.2 何時使用責任鏈模式
17.3 在RPG遊戲中使用責任鏈模式
17.4 總結
第七部分 算法封裝
第18章 模闆方法
18.1 何為模闆方法模式
18.2 何時使用模闆方法
18.3 利用模闆方法製作三明治
18.4 保證模闆方法正常工作
18.5 嚮模闆方法增加額外的步驟
18.6 在Cocoa Touch框架中使用模闆方法
18.6.1 UIView類中的定製繪圖
18.6.2 Cocoa Touch框架中的其他模闆方法實現
18.7 總結
第19章 策略
19.1 何為策略模式
19.2 何時使用策略模式
19.3 在UITextField中應用驗證策略
19.4 總結
第20章 命令
20.1 何為命令模式
20.2 何時使用命令模式
20.3 在Cocoa Touch框架中使用命令模式
20.3.1 NSInvocation對象
20.3.2 NSUndoManager
20.4 在TouchPainter中實現撤銷與恢復
20.4.1 使用NSUndoManager實現繪圖與撤銷繪圖
20.4.2 自製繪圖與撤銷繪圖的基礎設施
20.4.3 允許用戶觸發撤銷與恢復
20.5 命令還能做什麼
20.6 總結
第八部分 性能與對象訪問
第21章 享元
21.1 何為享元模式
21.2 何時使用享元模式
21.3 創建百花池
21.4 總結
第22章 代理
22.1 何為代理模式
22.2 何時使用代理模式
22.3 用虛擬代理懶加載圖像
22.4 在Cocoa Touch框架中使用代理模式
22.5 總結
第九部分 對象狀態
第23章 備忘錄
23.1 何為備忘錄模式
23.2 何時使用備忘錄模式
23.3 在TouchPainter中使用備忘錄模式
23.3.1 塗鴉圖的保存
23.3.2 塗鴉圖的恢復
23.3.3 ScribbleMemento的設計與實現
23.4 Cocoa Touch框架中的備忘錄模式
23.5 總結
生成器
選擇建造自己的房子的人會把工程外包給承包商。單一承包商不能建造整個房子,他將其分解為幾個部分,然後轉包給幾個實際的建築商(builder),他們懂得如何將零部件組裝起來。房子由風格、顔色和尺寸各不相同的部件組成。客戶告訴承包商房子裏都要有什麼,然後承包商協調各房屋建築商,決定需要做什麼。應該如何建造,建築商就如何施工。建房子是個復雜過程,單憑一雙手就想建房子,即便可能也非常睏難。如果承包商(指導者)與懂得如何建造的建築商相互協調,這一過程將簡單得多且更易管理。
有時,構建某些對象有多種不同方式。如果這些邏輯包含在構建這些對象的類的單一方法中,構建的邏輯會非常荒唐(例如,針對各種構建需求的一大片嵌套if-else或者switch-case語句)。如果能夠把構建過程分解為客戶一指導者一生成器的關係,那麼過程將更容易管理與復用。針對此類關係的設計模式稱為生成器。
本章將討論生成器模式的概念。後麵幾節,也會討論如何使用這一模式來生成RPG遊戲中帶有復雜特徵的角色。
6.1 何為生成器模式
除瞭客戶與其所要的産品,生成器模式還包含兩個重要角色:Director(指導者)和Builder(生成器)。Builder知道究竟如何在缺少某些特定信息的情況下建造産品(什麼)。Director知道Builder應該建造什麼,以參數嚮其提供缺少的信息來建造特定産品。什麼與如何有點兒難懂。盡管Director知道Builder應該建造什麼,這並不意味著Director知道具體Builder究竟是什麼。它們的靜態關係如圖6-1中的類圖所示。
Builder是一個抽象接口,聲明瞭一個buildpart方法,該builder方法由CorlcreteBuilder實現,以構造實際産品(Product)。
……
Objective-C編程之道:iOS設計模式解析 下載 mobi pdf epub txt 電子書 格式 2024
Objective-C編程之道:iOS設計模式解析 下載 mobi epub pdf 電子書可以可以,經典之作還是經典
評分還沒看,不過感覺還不錯
評分這本書不錯哦,很滿意
評分漲知識瞭
評分很滿意
評分正版
評分提高代碼質量~理解麵嚮對象寫法~分離視圖與數據有大大用處
評分好書,我非常喜歡。看的根本停不下來
評分還沒細看,不好評價
Objective-C編程之道:iOS設計模式解析 mobi epub pdf txt 電子書 格式下載 2024