第一图书网

Objective-C编程之道

钟冠贤 人民邮电
出版时间:

2011-11  

出版社:

人民邮电  

作者:

钟冠贤  

译者:

刘威  

Tag标签:

无  

内容概要

  本书是基于iOS 的软件开发指南。书中应用GoF
的经典设计模式,介绍了如何在代码中应用创建型模式、结构型模式和行为模式,如何设计模式以巩固应用程序,并通过设计模式实例介绍MVC
在CocoaTouch 框架中的工作方式。
  本书适用于那些已经具备Objective-C 基础、想利用设计模式来提高软件开发效率的中高级iOS 开发人员。
  苹 果公司的App
Store拥有超过20万个应用(每秒都在增加)供用户选择,正深刻地改变着软件行业。每天都有更多的iOS开发者想投入到这一潮流,希望凭藉下一个杀手级应用发家致富。本书的目标正是带领读者完成从新手到高手的转变,关注底层的设计模式而非一味只顾着写代码,从而开发出更加高效、实用和专业的应用。
  iOS 应用程序的基础Cocoa
Touch框架内容丰富、结构优美,通过将各种设计模式应用到其基础结构中,为第三方开发者提供了很好的可扩展性和灵活性。因此,要充分利用这一框架,应当深刻理解并恰当应用设计模式。本书受到GoF的经典著作《设计模式》的启发,旨在引导大家掌握如何在iOS平台上以Objective-C语言实现
Cocoa Touch开发所要用到的传统设计模式。
  在编写代码的过程中,你可能在一定程度上运用了一些设计模式,只是并没有意识到或充分利用它们。基于此,本书深入解析了这些设计模式。特定模式方法的实现将向iOS应用开发人员展示其非凡价值。你将掌握单例、抽象工厂、责任链和观察者等经典模式,还会发现一些不太知名但非常有用的模式,比如备忘录、组合、命令和中介者等。
  学完本书,你将学会:
  ?各种设计模式的基本概念;
  ?根据不同场景,将设计模式应用于代码中;
  ?用设计模式来改进应用程序;
  ?提高软件开发的效率。

作者简介

  Carlo
Chung(钟冠贤)计算机科学家,喜欢摆弄机器、爱好摄影。他拥有计算机科学硕士学位,专业方向是计算机视觉(人工智能的分支)。把人工智能与任何小装置结合起来的想法都能令他兴奋不已。他常常梦想着让iPhone变得更智能、更像人,曾把计算机视觉的知识应用到iPhone平台并开发了几个应用,有两个被作为特色应用出现在App
Store首页,其中有一个还被列为摄影类别中的最佳付费应用(Top Paid)。
  译者简介:
  刘威
2001年毕业于中国科学院研究生院。热爱计算机科学,喜欢编程,尤其喜欢写程序解决实际问题。从2000年起从事软件开发工作,最近几年一直专注于手机软件开发,目前从事Android和iOS软件开发。新浪微博:@刘威-LiuWei。

书籍目录

第一部分 设计模式初体验
 第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)。

媒体关注与评论

“每学习一门新的编程语言。我都会去买一本介绍其设计模式的书。这些书从来没有让我失望过。从长远来看,我获得的回报十倍于我的付出,本书也不例外。作者首先介绍每一种设计模式的理论和方法。然后给出代码示例。简单地讲,本书结构清晰,易于理解。物超所值。”  ——亚马逊读者评论“这是一本启人深思的书。在学习如何将设计模式应用于复杂的lOS应用的同时,我开始静下来思考怎样优化既有代码。向每一位中高级iOS开发人员推荐本书。”  ——亚马逊读者评论


图书封面

图书标签Tags

广告

下载页面


Objective-C编程之道 PDF格式下载



《Objective-C编程之道:iOS设计模式解析》是基于iOS的软件开发指南。书中应用GoF的经典设计模式,介绍了如何在代码中应用创建型模式、结构型模式和行为模式,如何设计模式以巩固应用程序,并通过设计模式实例介绍MVC在CocoaTouch框架中的工作方式。  《Objective-C编程之道:iOS设计模式解析》适用于那些已经具备Objective-C基础、想利用设计模式来提高软件开发效率的中高级iOS开发人员。


Objective-C编程之道:iOS设计模式解析(解析iOS设计模式的开山之作),不错。


买这本书是由于工作的时候,做的项目总是感觉性能不太好,想再学一下开发的设计模式。正好看到这本书有中文的,毫不犹豫就买了,之前买过这一系列的几本书,都很不错。不过以前是在书城买的,比这里贵很多,当当上买书真的很实惠。
还是来说说这本书吧。
本书的开头,作者就说了,是属于专业丛书,并不是“ios 开发技巧”或“objective-24小时入门”。使用者应该具有ios sdk的基础知识。确实是这样,所以建议刚刚开始进入ios开发领域的人们还是先看看其他基础点的书,象《iphone开发教程》就很不错。
昨天大概的翻了一下目录内容,今天开始认真学习,里面的内容作者讲的很详细很形象。刚刚看到第2章,总之真的很不错。


一本很不错的书,站在设计模式的高度来讲解ios开发的知识,适合有一定基础的人


还没看,看过gof的,不知道ios上的设计模式有什么不同


ios设计模式,大家都推荐看的,看了几页后感觉是很不错。


该书应该是我看到的第一本关于Objective-c的设计模式的书,如果Objective-c还有重构等更多深入和实用的书出现,就更好了,再一次说明Objective-c越来越受到大家的关注和重视。


较为专业的iOS开发编程书籍,以前也购买过几本该系列的书,最大的感受是不配合英文原版书籍是很难读懂翻译内容的,不过本书译者是专业人事,翻译质量应该有保障。


设计模式对于软件开发者来说,是很重要的!除去编程语言,设计模式就是一种思想架构,指导程序员编程的技巧和方法!


基本上看完了,对我开发IOS,以及设计非常有帮助


iphone上的设计模式好像就这一本,写的很有特点


内容容易理解 通过实际例子解析 设计模式


挺经典的书,对iOS高级开发有帮助。


提高代码质量,学习设计模式。


认真学习,ios经典


很好的一本讲设计模式的书,值得拥有


优秀的框架,少不了设计模式的支持!


设计模式 介绍的非常好
值得好好研究


很不错、没门语言的设计模式的书、我都会认真阅读、收获都很大、掌握其中的DP、可以更有效的学习Apple API


质量不错,第二天就拿到了。本书用一个例子讲解设计模式,感觉很不错,翻译的质量也比较好,值得购买!


大多数面对对象语言的设计模式理念大致相同,但还是非常值得一看,比较比较!


这个非常值得看,设计模式看多少遍都不多


里面的设计模式觉得讲的挺好了


好,唯一不足的是,就设计模式论设计模式,没有包括项目。


有objective-c基础之后,适合进阶阅读


书的纸倒是不错 ,内容看了一点 和 oc程序设计一起买的 ,oc程序设计已经看完了 ,这本书目前只是看看里面的代码风格 及 技巧


非常好。在学习COCOA的设计同时结合这一本OBJ-C的设计可以两相响应,对开发很有用。


上午到手,快速过了10章,作者书的结构设计很合理。可以泛读,也可以精读。


书很好,在这里我只是很想骂当当!首先,发货速度可真心不是一般的慢,我差点就退货了!第二,物流真心不给力!更让我郁闷的是当当尼玛连一个人工客服都没?我的情绪该往哪发?买了次本书之后,我以后买书不会再来当当买了!去**!太让我失望了。最后还是要说下,书真心很好!很喜欢!


从写代码到写框架,提升自己的最佳选择


这一系列的书都挺好的,希望可以在整体上对软件开发深入理解


很适合程序开发员使用。


针对有开发经验两到三年的程序员,比价有作用


很好的书,需要一定开发经验


超值的经典之作


这本不错,高手进阶,把写代码当艺术品


不适合初学者,适合有一定开发经验的,过段时间再说吧。


例子不错,正好适合当前的开发


不过老公说我买错了,这个名字 虽然是从零开始,但是零也是要有基础的所以重新买书


书页的质量还可以,正在学习中。


这本书是我一直想看的,买来收藏,肯定不错


看了几章了,都很经典。


帮同事带的,内容很好~一本不错的技术书


买书一直坚持当当,速度,质量都很好


很实用的书,物有所值


感觉还不错,就是送书需要稍微提速


作为入门学习的书,非常不错,划算


书很新很正,稍微有个地方挤皱了,不过无关整体


适合有一定基础的朋友看,很有用


很好,很强大,适合有基础的看


内容不错。真心不错。值得仔细看。


不错,我平时有空就看看。算收藏了。


给别人买的,今天刚收到。。。


还没有看完,不过觉得还不错


讲解的挺细致的,不错


不错,应该看看,只是刚收到就半价了。


跟书店卖的一样!


书很不错,对于学习ios的设计模式很好


刚到货,翻了几下 感觉还不错,支持一下


给力,正品


还没读的,应该不错


适合高阶一点的程序员看


东西还不错,就是送货要快点!


不错,初学,很有感受


内容很不错,英文原版更好


未看呢,感觉应该可以。


朋友推荐的,这个系列的书写的都不错。值得一买。


没怎么看,不过内容还行


不建议初学者看


很划算了


早上订的,下午就到了,太有效率了吧。


值得学习,不错


中规中矩的一本技术书箱


调理清晰,例子明确~


能在当当网买到好书,开心。


内容充实 具有参考价值


这本书应该会是我最后看的一本书,内容有点深,不建议初学者学习


很实用,比较受益


感觉还好,质量也不错


元旦后一上班即收到,不错


37页在以下情形,会考虑使用原型模式. 需要创建的对象应独立于其类型与创建方式 (神马意思?).要实例化的类是在运行时决定的 (大概明白意思,就不能用中文组织一下?).不想要与产品层次相对应的工厂层次. (这是什么意思,反复看了十遍不知道在说什么).不同类的实例间的差异仅是状态的若干组合.因此复制相应的数据的原型比手工实例化更加方便 (大哥你确认你的母语是中文?????)最后谢谢你让我准备跟英文死ke了!!!


看了一段时间 ,很难看懂。还要修练啊。


不太适合基础的,一般般


没事一直翻看中,每次都有新的体会


翻译得很不好,不值得买


一种新的理论论述精辟


书还没开始看,检查了下,没发现什么瑕疵


还好,质量不错,正在看


国外人写的比较风趣,但是内容上有些说的不是很准确,只能参考。不是太全面。


很喜欢这本书。而且例子和书结合非常紧密


类举了很多编程模式,使得开发事半功倍。


说实话,这是我见过翻译最差的一本书,机器般的翻译,根本无法理解。没有一句话是通顺的!


这本书描述一些模式的时候有点混乱,不过总体来说还可以。


书里的内容还不错,详细的谈到了一些设计模式,常用的设计模式都有涉猎,虽然对设计模式的讲解不是很详细,但是对于初学者了解设计模式还是很有帮助的。


一如即往的好,下次还来这买


学习学习,很有必要


还阔以吧


相关图书