Objective-C編程之道:iOS設計模式解析

Objective-C編程之道:iOS設計模式解析

作者: 鐘冠賢(Carlo Chung)
出版社: 人民郵電
出版在: 2011-11-01
ISBN-13: 9787115265869
ISBN-10: 7115265860
裝訂格式: 平裝
總頁數: 297 頁





內容描述


<內容簡介>
Carlo Chung的這本《Objective-C編程之道:iOS設計模式解析》是基於iOS的軟件開髮指南。書中應用GoF的經典設計模式,介紹瞭如何在代碼中應用創建型模式、結構型模式和行為模式,如何設計模式以鞏固應用程序,並通過設計模式實例介紹MVC在CocoaTouch框架中的工作方式。《Objective-C編程之道:iOS設計模式解析》適用於那些已經具備Objective-C基礎、想利用設計模式來提高軟件開發效率的中高級iOS開發人員。  

<章節目錄>
第一部分 設計模式初體驗第1章 你好,設計模式2  1.1 這是一本什麼書2  1.2 開始前的準備2  1.3 預備知識3  1.4 似曾相識的設計3  1.5 設計模式的起源——模型、視圖和控制器4  1.5.1 在模型對象中封裝數據和基本行為4  1.5.2 使用視圖對象向用戶展示信息5  1.5.3 用控制器對象聯繫起模型和視圖5  1.5.4 作為複合設計模式的MVC5  1.6 影響設計的幾個問題6  1.6.1 針對接口編程,而不是針對實現編程7  1.6.2 @protocol與抽象基類7  1.6.3 對象組合與類繼承8  1.7 本書用到的對象和類9  1.7.1 類圖9  1.7.2 對象圖12  1.8 本書如何安排模式的講解13  1.9 總結13第2章 案例分析:設計一個應用程序14  2.1 想法的概念化14  2.2 界面外觀的設計15  2.3 架構設計17  2.3.1 視圖管理18  2.3.2 如何表現塗鴉20  2.3.3 如何表現保存的塗鴉圖24  2.3.4 用戶操作27  2.4 所用設計模式的回顧32  2.5 總結33    第二部分 對象創建第3章 原型36  3.1 何為原型模式36  3.2 何時使用原型模式37  3.3 淺複製與深複製38  3.4 使用CocoaTouch框架中的對象複製39  3.5 為Mark聚合體實現複製方法39  3.6 將複製的Mark用作「圖樣模板」47  3.7 總結49第4章 工廠方法50  4.1 何為工廠方法模式50  4.2 何時使用工廠方法51  4.3 為何這是創建對象的安全方法51  4.4 在TouchPainter中生成不同畫布51  4.5 在CocoaTouch框架中應用工廠方法57  4.6 總結58第5章 抽象工廠59  5.1 把抽象工廠應用到TouchPainter應用程序60  5.2 在CocoaTouch框架中使用抽象工廠66  5.3 總結68
第6章 生成器69  6.1 何為生成器模式69  6.2 何時使用生成器模式70  6.3 構建追逐遊戲中的角色71  6.4 總結79第7章 單例80  7.1 何為單例模式80  7.2 何時使用單例模式81  7.3 在Objective-C中實現單例模式81  7.4 子類化Singleton85  7.5 線程安全85  7.6 在CocoaTouch框架中使用單例模式86  7.6.1 使用UIApplication類86  7.6.2 使用UIAccelerometer類86  7.6.3 使用NSFileManager類86  7.7 總結87    第三部分 接口適配第8章 適配器90  8.1 何為適配器模式90  8.2 何時使用適配器模式92  8.3 委託92  8.4 用Objective-C協議實現適配器模式93  8.5 用Objective-C的塊在iOS4中實現適配器模式99  8.5.1 塊引用的聲明99  8.5.2 塊的創建100  8.5.3 把塊用作適配器100  8.6 總結104第9章 橋接105  9.1 何為橋接模式105  9.2 何時使用橋接模式106  9.3 創建iOS版虛擬模擬器106  9.4 總結112第10章 外觀113  10.1 何為外觀模式113  10.2 何時使用外觀模式114  10.3 為子系統的一組接口提供簡化的接口114  10.4 在TouchPainter應用程序中使用外觀模式117  10.5 總結119    第四部分 對象去耦第11章 中介者122  11.1 何為中介者模式122  11.2 何時使用中介者模式124  11.3 管理TouchPainter應用程序中的視圖遷移124  11.3.1 修改遷移邏輯的困難126  11.3.2 集中管理UI交通127  11.3.3 在InterfaceBuilder中使用CoordinatingController132  11.4 總結135第12章 觀察者136  12.1 何為觀察者模式136  12.2 何時使用觀察者模式138
  12.3 在模型-視圖-控制器中使用觀察者模式138  12.4 在CocoaTouch框架中使用觀察者模式138  12.4.1 通知139  12.4.2 鍵-值觀察139  12.5 在TouchPainter中更新CanvasView上的線條140  12.6 總結149    第五部分 抽象集合第13章 組合152  13.1 何為組合模式152  13.2 何時使用組合模式154  13.3 理解TouchPainter中Mark的使用154  13.4 在CocoaTouch框架中使用組合模式163  13.5 總結164第14章 迭代器165  14.1 何為迭代器模式165  14.2 何時使用迭代器模式167  14.3 在CocoaTouch框架中使用迭代器模式167  14.3.1 NSEnumerator167  14.3.2 基於塊的枚舉168  14.3.3 快速枚舉169  14.3.4 內部枚舉170  14.4 遍歷Scribble的頂點170  14.5 總結178    第六部分 行為擴展第15章 訪問者180  15.1 何為訪問者模式180  15.2 何時使用訪問者模式182  15.3 用訪問者繪製TouchPainter中的Mark182  15.4 訪問者的其他用途189  15.5 能不能用範疇代替訪問者模式189  15.6 總結189第16章 裝飾190  16.1 何為裝飾模式190  16.2 何時使用裝飾模式191  16.3 改變對象的「外表」和「內容」192  16.4 為UIImage創建圖像濾鏡192  16.4.1 通過真正的子類實現裝飾193  16.4.2 通過範疇實現裝飾201  16.5 總結206第17章 責任鏈207  17.1 何為責任鏈模式207  17.2 何時使用責任鏈模式208  17.3 在RPG遊戲中使用責任鏈模式209  17.4 總結214    第七部分 演算法封裝第18章 模板方法216  18.1 何為模板方法模式216  18.2 何時使用模板方法217  18.3 利用模板方法製作三明治217  18.4 保證模板方法正常工作224
  18.5 向模板方法增加額外的步驟225  18.6 在CocoaTouch框架中使用模板方法228  18.6.1 UIView類中的定製繪圖228  18.6.2 CocoaTouch框架中的其他模板方法實現228  18.7 總結229第19章 策略230  19.1 何為策略模式230  19.2 何時使用策略模式231  19.3 在UITextField中應用驗證策略231  19.4 總結239第20章 命令240  20.1 何為命令模式240  20.2 何時使用命令模式241  20.3 在Cocoa Touch框架中使用命令模式241  20.3.1 NSInvocation對象242  20.3.2 NSUndo Manager242  20.4 在Touch Painter中實現撤銷與恢復243  20.4.1 使用NSUndo Manager實現繪圖與撤銷繪圖244  20.4.2 自製繪圖與撤銷繪圖的基礎設施248  20.4.3 允許用戶觸發撤銷與恢復255  20.5 命令還能做什麼256  20.6 總結257    第八部分 性能與對象訪問第21章 享元260  21.1 何為享元模式260  21.2 何時使用享元模式262  21.3 創建百花池262  21.4 總結269第22章 代理270  22.1 何為代理模式270  22.2 何時使用代理模式271  22.3 用虛擬代理懶加載圖像272  22.4 在CocoaTouch框架中使用代理模式277  22.5 總結279    第九部分 對象狀態第23章 備忘錄282  23.1 何為備忘錄模式282  23.2 何時使用備忘錄模式283  23.3 在Touch Painter中使用備忘錄模式284  23.3.1 塗鴉圖的保存284  23.3.2 塗鴉圖的恢復285  23.3.3 Scribble Memento的設計與實現286  23.4 Cocoa Touch框架中的備忘錄模式295  23.5 總結297




相關書籍

Pro Android Apps Performance Optimization (Paperback)

作者 Herv Guihot

2011-11-01

Xamarin iOS 移動開發實戰

作者 劉媛媛

2011-11-01

Android 程式開發設計輕鬆入門 (舊名: Android程式開發學習手札)

作者 Chris Haseman

2011-11-01