Objective-C編程之道

出版時間:2011-11  出版社:人民郵電  作者:鐘冠賢  譯者:劉威  
Tag標簽:無  

內容概要

  本書是基于iOS 的軟件開發(fā)指南。書中應用GoF
的經典設計模式,介紹了如何在代碼中應用創(chuàng)建型模式、結構型模式和行為模式,如何設計模式以鞏固應用程序,并通過設計模式實例介紹MVC
在CocoaTouch 框架中的工作方式。
  本書適用于那些已經具備Objective-C 基礎、想利用設計模式來提高軟件開發(fā)效率的中高級iOS 開發(fā)人員。
  蘋 果公司的App
Store擁有超過20萬個應用(每秒都在增加)供用戶選擇,正深刻地改變著軟件行業(yè)。每天都有更多的iOS開發(fā)者想投入到這一潮流,希望憑藉下一個殺手級應用發(fā)家致富。本書的目標正是帶領讀者完成從新手到高手的轉變,關注底層的設計模式而非一味只顧著寫代碼,從而開發(fā)出更加高效、實用和專業(yè)的應用。
  iOS 應用程序的基礎Cocoa
Touch框架內容豐富、結構優(yōu)美,通過將各種設計模式應用到其基礎結構中,為第三方開發(fā)者提供了很好的可擴展性和靈活性。因此,要充分利用這一框架,應當深刻理解并恰當應用設計模式。本書受到GoF的經典著作《設計模式》的啟發(fā),旨在引導大家掌握如何在iOS平臺上以Objective-C語言實現(xiàn)
Cocoa Touch開發(fā)所要用到的傳統(tǒng)設計模式。
  在編寫代碼的過程中,你可能在一定程度上運用了一些設計模式,只是并沒有意識到或充分利用它們?;诖?,本書深入解析了這些設計模式。特定模式方法的實現(xiàn)將向iOS應用開發(fā)人員展示其非凡價值。你將掌握單例、抽象工廠、責任鏈和觀察者等經典模式,還會發(fā)現(xiàn)一些不太知名但非常有用的模式,比如備忘錄、組合、命令和中介者等。
  學完本書,你將學會:
  ?各種設計模式的基本概念;
  ?根據(jù)不同場景,將設計模式應用于代碼中;
  ?用設計模式來改進應用程序;
  ?提高軟件開發(fā)的效率。

作者簡介

  Carlo
Chung(鐘冠賢)計算機科學家,喜歡擺弄機器、愛好攝影。他擁有計算機科學碩士學位,專業(yè)方向是計算機視覺(人工智能的分支)。把人工智能與任何小裝置結合起來的想法都能令他興奮不已。他常常夢想著讓iPhone變得更智能、更像人,曾把計算機視覺的知識應用到iPhone平臺并開發(fā)了幾個應用,有兩個被作為特色應用出現(xiàn)在App
Store首頁,其中有一個還被列為攝影類別中的最佳付費應用(Top Paid)。
  譯者簡介:
  劉威
2001年畢業(yè)于中國科學院研究生院。熱愛計算機科學,喜歡編程,尤其喜歡寫程序解決實際問題。從2000年起從事軟件開發(fā)工作,最近幾年一直專注于手機軟件開發(fā),目前從事Android和iOS軟件開發(fā)。新浪微博:@劉威-LiuWei。

書籍目錄

第一部分 設計模式初體驗
 第1章 你好,設計模式  
  1.1 這是一本什么書  
  1.2 開始前的準備  
  1.3 預備知識  
  1.4 似曾相識的設計  
  1.5 設計模式的起源——模型、視圖和控制器  
   1.5.1 在模型對象中封裝數(shù)據(jù)和基本行為  
   1.5.2 使用視圖對象向用戶展示信息  
   1.5.3 用控制器對象聯(lián)系起模型和視圖  
   1.5.4 作為復合設計模式的MVC   
  1.6 影響設計的幾個問題  
   1.6.1 針對接口編程,而不是針對實現(xiàn)編程  
   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 如何表現(xiàn)涂鴉  
   2.3.3 如何表現(xiàn)保存的涂鴉圖  
   2.3.4 用戶操作  
  2.4 所用設計模式的回顧  
  2.5 總結  
第二部分 對象創(chuàng)建第3章 原型  
  3.1 何為原型模式  
  3.2 何時使用原型模式  
  3.3 淺復制與深復制  
  3.4 使用Cocoa Touch 框架中的對象復制  
  3.5 為Mark 聚合體實現(xiàn)復制方法  
  3.6 將復制的Mark 用作“圖樣模板”  
  3.7 總結  
 第4章 工廠方法  
  4.1 何為工廠方法模式  
  4.2 何時使用工廠方法  
  4.3 為何這是創(chuàng)建對象的安全方法  
  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 中實現(xiàn)單例模式  
  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 協(xié)議實現(xiàn)適配器模式  
  8.5 用Objective-C 的塊在iOS 4 中實現(xiàn)適配器模式  
   8.5.1 塊引用的聲明  
   8.5.2 塊的創(chuàng)建  
   8.5.3 把塊用作適配器  
  8.6 總結  
 第9章 橋接  
  9.1 何為橋接模式  
  9.2 何時使用橋接模式  
  9.3 創(chuàng)建iOS 版虛擬仿真器  
  9.4 總結  
 第10章 外觀  
  10.1 何為外觀模式  
  10.2 何時使用外觀模式  
  10.3 為子系統(tǒng)的一組接口提供簡化的接口  
  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 創(chuàng)建圖像濾鏡  
   16.4.1 通過真正的子類實現(xiàn)裝飾  
   16.4.2 通過范疇實現(xiàn)裝飾  
  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 框架中的其他模板方法實現(xiàn)  
  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 中實現(xiàn)撤銷與恢復  
   20.4.1 使用NSUndoManager 實現(xiàn)繪圖與撤銷繪圖  
   20.4.2 自制繪圖與撤銷繪圖的基礎設施  
   20.4.3 允許用戶觸發(fā)撤銷與恢復  
  20.5 命令還能做什么  
  20.6 總結  
第八部分 性能與對象訪問
 第21章 享元  
  21.1 何為享元模式  
  21.2 何時使用享元模式  
  21.3 創(chuàng)建百花池  
  21.4 總結  
 第22章 代理  
  22.1 何為代理模式  
  22.2 何時使用代理模式  
  22.3 用虛擬代理懶加載圖像  
  22.4 在Cocoa Touch 框架中使用代理模式  
  22.5 總結  
 第九部分 對象狀態(tài)
 第23章 備忘錄  
  23.1 何為備忘錄模式  
  23.2 何時使用備忘錄模式  
  23.3 在TouchPainter 中使用備忘錄模式  
   23.3.1 涂鴉圖的保存  
   23.3.2 涂鴉圖的恢復  
   23.3.3 ScribbleMemento 的設計與實現(xiàn)  
  23.4 Cocoa Touch 框架中的備忘錄模式  
  23.5 總結

章節(jié)摘錄

版權頁:插圖:生成器選擇建造自己的房子的人會把工程外包給承包商。單一承包商不能建造整個房子,他將其分解為幾個部分,然后轉包給幾個實際的建筑商(builder),他們懂得如何將零部件組裝起來。房子由風格、顏色和尺寸各不相同的部件組成。客戶告訴承包商房子里都要有什么,然后承包商協(xié)調各房屋建筑商,決定需要做什么。應該如何建造,建筑商就如何施工。建房子是個復雜過程,單憑一雙手就想建房子,即便可能也非常困難。如果承包商(指導者)與懂得如何建造的建筑商相互協(xié)調,這一過程將簡單得多且更易管理。有時,構建某些對象有多種不同方式。如果這些邏輯包含在構建這些對象的類的單一方法中,構建的邏輯會非?;奶疲ɡ纾槍Ω鞣N構建需求的一大片嵌套if-else或者switch-case語句)。如果能夠把構建過程分解為客戶一指導者一生成器的關系,那么過程將更容易管理與復用。針對此類關系的設計模式稱為生成器。本章將討論生成器模式的概念。后面幾節(jié),也會討論如何使用這一模式來生成RPG游戲中帶有復雜特征的角色。6.1 何為生成器模式除了客戶與其所要的產品,生成器模式還包含兩個重要角色:Director(指導者)和Builder(生成器)。Builder知道究竟如何在缺少某些特定信息的情況下建造產品(什么)。Director知道Builder應該建造什么,以參數(shù)向其提供缺少的信息來建造特定產品。什么與如何有點兒難懂。盡管Director知道Builder應該建造什么,這并不意味著Director知道具體Builder究竟是什么。它們的靜態(tài)關系如圖6-1中的類圖所示。Builder是一個抽象接口,聲明了一個buildpart方法,該builder方法由CorlcreteBuilder實現(xiàn),以構造實際產品(Product)。

媒體關注與評論

“每學習一門新的編程語言。我都會去買一本介紹其設計模式的書。這些書從來沒有讓我失望過。從長遠來看,我獲得的回報十倍于我的付出,本書也不例外。作者首先介紹每一種設計模式的理論和方法。然后給出代碼示例。簡單地講,本書結構清晰,易于理解。物超所值?!薄  獊嗰R遜讀者評論“這是一本啟人深思的書。在學習如何將設計模式應用于復雜的lOS應用的同時,我開始靜下來思考怎樣優(yōu)化既有代碼。向每一位中高級iOS開發(fā)人員推薦本書?!薄  獊嗰R遜讀者評論

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Objective-C編程之道 PDF格式下載


用戶評論 (總計97條)

 
 

  •   《Objective-C編程之道:iOS設計模式解析》是基于iOS的軟件開發(fā)指南。書中應用GoF的經典設計模式,介紹了如何在代碼中應用創(chuàng)建型模式、結構型模式和行為模式,如何設計模式以鞏固應用程序,并通過設計模式實例介紹MVC在CocoaTouch框架中的工作方式?!  禣bjective-C編程之道:iOS設計模式解析》適用于那些已經具備Objective-C基礎、想利用設計模式來提高軟件開發(fā)效率的中高級iOS開發(fā)人員。
  •   Objective-C編程之道:iOS設計模式解析(解析iOS設計模式的開山之作),不錯。
  •   買這本書是由于工作的時候,做的項目總是感覺性能不太好,想再學一下開發(fā)的設計模式。正好看到這本書有中文的,毫不猶豫就買了,之前買過這一系列的幾本書,都很不錯。不過以前是在書城買的,比這里貴很多,當當上買書真的很實惠。
    還是來說說這本書吧。
    本書的開頭,作者就說了,是屬于專業(yè)叢書,并不是“ios 開發(fā)技巧”或“objective-24小時入門”。使用者應該具有ios sdk的基礎知識。確實是這樣,所以建議剛剛開始進入ios開發(fā)領域的人們還是先看看其他基礎點的書,象《iphone開發(fā)教程》就很不錯。
    昨天大概的翻了一下目錄內容,今天開始認真學習,里面的內容作者講的很詳細很形象。剛剛看到第2章,總之真的很不錯。
  •   一本很不錯的書,站在設計模式的高度來講解ios開發(fā)的知識,適合有一定基礎的人
  •   還沒看,看過gof的,不知道ios上的設計模式有什么不同
  •   ios設計模式,大家都推薦看的,看了幾頁后感覺是很不錯。
  •   該書應該是我看到的第一本關于Objective-c的設計模式的書,如果Objective-c還有重構等更多深入和實用的書出現(xiàn),就更好了,再一次說明Objective-c越來越受到大家的關注和重視。
  •   較為專業(yè)的iOS開發(fā)編程書籍,以前也購買過幾本該系列的書,最大的感受是不配合英文原版書籍是很難讀懂翻譯內容的,不過本書譯者是專業(yè)人事,翻譯質量應該有保障。
  •   設計模式對于軟件開發(fā)者來說,是很重要的!除去編程語言,設計模式就是一種思想架構,指導程序員編程的技巧和方法!
  •   基本上看完了,對我開發(fā)IOS,以及設計非常有幫助
  •   iphone上的設計模式好像就這一本,寫的很有特點
  •   內容容易理解 通過實際例子解析 設計模式
  •   挺經典的書,對iOS高級開發(fā)有幫助。
  •   提高代碼質量,學習設計模式。
  •   認真學習,ios經典
  •   很好的一本講設計模式的書,值得擁有
  •   優(yōu)秀的框架,少不了設計模式的支持!
  •   設計模式 介紹的非常好
    值得好好研究
  •   很不錯、沒門語言的設計模式的書、我都會認真閱讀、收獲都很大、掌握其中的DP、可以更有效的學習Apple API
  •   質量不錯,第二天就拿到了。本書用一個例子講解設計模式,感覺很不錯,翻譯的質量也比較好,值得購買!
  •   大多數(shù)面對對象語言的設計模式理念大致相同,但還是非常值得一看,比較比較!
  •   這個非常值得看,設計模式看多少遍都不多
  •   里面的設計模式覺得講的挺好了
  •   好,唯一不足的是,就設計模式論設計模式,沒有包括項目。
  •   有objective-c基礎之后,適合進階閱讀
  •   書的紙倒是不錯 ,內容看了一點 和 oc程序設計一起買的 ,oc程序設計已經看完了 ,這本書目前只是看看里面的代碼風格 及 技巧
  •   非常好。在學習COCOA的設計同時結合這一本OBJ-C的設計可以兩相響應,對開發(fā)很有用。
  •   上午到手,快速過了10章,作者書的結構設計很合理??梢苑鹤x,也可以精讀。
  •   書很好,在這里我只是很想罵當當!首先,發(fā)貨速度可真心不是一般的慢,我差點就退貨了!第二,物流真心不給力!更讓我郁悶的是當當尼瑪連一個人工客服都沒?我的情緒該往哪發(fā)?買了次本書之后,我以后買書不會再來當當買了!去**!太讓我失望了。最后還是要說下,書真心很好!很喜歡!
  •   從寫代碼到寫框架,提升自己的最佳選擇
  •   這一系列的書都挺好的,希望可以在整體上對軟件開發(fā)深入理解
  •   很適合程序開發(fā)員使用。
  •   針對有開發(fā)經驗兩到三年的程序員,比價有作用
  •   很好的書,需要一定開發(fā)經驗
  •   超值的經典之作
  •   這本不錯,高手進階,把寫代碼當藝術品
  •   不適合初學者,適合有一定開發(fā)經驗的,過段時間再說吧。
  •   例子不錯,正好適合當前的開發(fā)
  •   不過老公說我買錯了,這個名字 雖然是從零開始,但是零也是要有基礎的所以重新買書
  •   書頁的質量還可以,正在學習中。
  •   這本書是我一直想看的,買來收藏,肯定不錯
  •   看了幾章了,都很經典。
  •   幫同事帶的,內容很好~一本不錯的技術書
  •   買書一直堅持當當,速度,質量都很好
  •   很實用的書,物有所值
  •   感覺還不錯,就是送書需要稍微提速
  •   作為入門學習的書,非常不錯,劃算
  •   書很新很正,稍微有個地方擠皺了,不過無關整體
  •   適合有一定基礎的朋友看,很有用
  •   很好,很強大,適合有基礎的看
  •   內容不錯。真心不錯。值得仔細看。
  •   不錯,我平時有空就看看。算收藏了。
  •   給別人買的,今天剛收到。。。
  •   還沒有看完,不過覺得還不錯
  •   講解的挺細致的,不錯
  •   不錯,應該看看,只是剛收到就半價了。
  •   跟書店賣的一樣!
  •   書很不錯,對于學習ios的設計模式很好
  •   剛到貨,翻了幾下 感覺還不錯,支持一下
  •   給力,正品
  •   還沒讀的,應該不錯
  •   適合高階一點的程序員看
  •   東西還不錯,就是送貨要快點!
  •   不錯,初學,很有感受
  •   內容很不錯,英文原版更好
  •   未看呢,感覺應該可以。
  •   朋友推薦的,這個系列的書寫的都不錯。值得一買。
  •   沒怎么看,不過內容還行
  •   不建議初學者看
  •   很劃算了
  •   早上訂的,下午就到了,太有效率了吧。
  •   值得學習,不錯
  •   中規(guī)中矩的一本技術書箱
  •   調理清晰,例子明確~
  •   能在當當網買到好書,開心。
  •   內容充實 具有參考價值
  •   這本書應該會是我最后看的一本書,內容有點深,不建議初學者學習
  •   很實用,比較受益
  •   感覺還好,質量也不錯
  •   元旦后一上班即收到,不錯
  •   37頁在以下情形,會考慮使用原型模式. 需要創(chuàng)建的對象應獨立于其類型與創(chuàng)建方式 (神馬意思?).要實例化的類是在運行時決定的 (大概明白意思,就不能用中文組織一下?).不想要與產品層次相對應的工廠層次. (這是什么意思,反復看了十遍不知道在說什么).不同類的實例間的差異僅是狀態(tài)的若干組合.因此復制相應的數(shù)據(jù)的原型比手工實例化更加方便 (大哥你確認你的母語是中文?????)最后謝謝你讓我準備跟英文死ke了!!!
  •   看了一段時間 ,很難看懂。還要修練啊。
  •   不太適合基礎的,一般般
  •   沒事一直翻看中,每次都有新的體會
  •   翻譯得很不好,不值得買
  •   一種新的理論論述精辟
  •   書還沒開始看,檢查了下,沒發(fā)現(xiàn)什么瑕疵
  •   還好,質量不錯,正在看
  •   國外人寫的比較風趣,但是內容上有些說的不是很準確,只能參考。不是太全面。
  •   很喜歡這本書。而且例子和書結合非常緊密
  •   類舉了很多編程模式,使得開發(fā)事半功倍。
  •   說實話,這是我見過翻譯最差的一本書,機器般的翻譯,根本無法理解。沒有一句話是通順的!
  •   這本書描述一些模式的時候有點混亂,不過總體來說還可以。
  •   書里的內容還不錯,詳細的談到了一些設計模式,常用的設計模式都有涉獵,雖然對設計模式的講解不是很詳細,但是對于初學者了解設計模式還是很有幫助的。
  •   一如即往的好,下次還來這買
  •   學習學習,很有必要
  •   還闊以吧
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7