Head First设计模式(中文版)
Head First设计模式(中文版)
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
O'Reilly Taiwan公司 编译
出版时间:2007年07月
页数:640
你不想重新发明轮子(或者更差的是,漏气的轮子),所以你从设计模式中寻求协助——设计模式是过去人们面对同样的软件设计问题所学来的经验。有了设计模式,你就可以利用他人实践经验的精华,省下的时间可以用在……其他的事情上,一些更有挑战性的事情、更复杂的事情、更有趣的事情。你想要学习:
*事关紧要的模式
*何时使用某个模式,为何使用该模式
*如何在自己的设计中马上采用这些模式
*何时不该使用模式(如何避免对模式过度狂热)
*模式是基于哪些面向对象设计原则而设计出来的
更重要的是,你在学习设计模式的过程中不会感到昏昏欲睡。如果你曾经读过任何一本Head First系列书籍,就知道你能够从本书中得到的是:透过丰富的视觉效果让你的大脑充分地工作。本书的编写运用了许多最新的研究,包括神经生物学、认知科学,以及学习理论,这使得这本书能将这些设计模式深深地烙在你的脑海中,不容易被遗忘。你将更擅长于解决软件设计中的问,并能够和你的团队成员用模式的术语沟通。
Eric Freeman和Elisabeth Freeman是作家、讲师,以及技术顾问。原本在迪士尼公司领导了四年的数字媒体,以及Internet的开发,后来,他们将这些经验应用在他们自己的媒体中,包括本书。Eric具有耶鲁大学的计算机科学博士学位,Elisabeth具有耶鲁大学的计算机科学硕士学位。
Kathy Sierra(javaranch.com的创始者)和 Bert Bates是畅销的Head First系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。


“我昨天收到了这本书后就开始读……我简直欲罢不能。这真是太酷了!不但有趣,涵盖面广,而且切中要点。这本书让我感到印象深刻。”
----Erich Gamma, IBM 杰出工程师、《设计模式》作者之一
“我感到读这本书的效果等同于读一千磅重的同类书的效果。”
----Ward Cunningham, Wiki 发明者、
Hillside Group 创始人
“本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。口吻权威、阅读轻松。”
----David Gelernter,耶鲁大学计算机科学系教授
“这是我阅读过的最有趣且最聪明的软件设计书籍之一。”
----Aaron LaBerge, ESPN.com 技术副主席

本书荣获2005年第十五届Jolt通用类图书震撼大奖。
  1. 引子
  2. 1 欢迎来到设计模式世界:设计模式入门
  3. 2 让你的对象知悉现况:观察者模式
  4. 3 装饰对象:装饰者模式
  5. 4 烘烤OO的精华:工厂模式
  6. 5 独一无二的对象:单件模式
  7. 6 封装调用:命令模式
  8. 7 随遇而安:适配器与外观模式
  9. 8 封装算法:模板方法模式
  10. 9 管理良好的集合:迭代器与组合模式
  11. 10 事物的状态:状态模式
  12. 11 控制对象访问:代理模式
  13. 12 模式中的模式:复合模式
  14. 13 真实世界中的模式:与设计模式相处
  15. 14 附录A:剩下的模式
书名:Head First设计模式(中文版)
译者:O'Reilly Taiwan公司 编译
国内出版社:中国电力出版社
出版时间:2007年07月
页数:640
书号:978-7-5083-5393-7
原版书出版商:O'Reilly Media
Eric Freeman
 
Eric是一个计算机科学家,热衷于软件架构和媒体。
他刚刚花了四年的时间在一个梦寐以求的工作上:在迪士尼指导Internet宽带与无线应用。现在,他回到写作的岗位上,用Java和Mac创造很酷的软件。
在90年代,Eric和David Gelernter一起花了大量的时间,寻找Desktop metaphor的替代品。(他们“仍然”在问:我干嘛不得不给计算机文件取个名字)。也因为这样的研究,Eric在1997年获得耶鲁大学的博士学位。他也与他人一同创立了Mirror Worlds Technologies公司(已经被收购),将他的论文内容商业化,创建了一套软件Lifestreams。
以前,Eric为网络和超级计算机写软件,你可能通过《JavaSpaces Principles
Patterns and Practice》这本书得知他的名号。他曾在Thinking Machine CM-5上实现了元组空间系统(tuple-space system),也在80年代末期为NASA创建了第一个Internet信息系统,他为此深感自豪。
Eric目前住在圣达菲附近的沙漠中,当他不写书或代码时,他总是花更多时间摆弄他的家庭影院,而不是观看影片,他利用空档时间试着修复80年代的经典视频游戏Dragon Lair。他也不介意在晚上兼差当个电音DJ。
给他的E-mail可以写到eric@wickedlysmart.com,你也可以去参观他的Blog,网址在http://www.ericfreeman.com。
 
 
Elisabeth Freeman
 
Elisabeth是作者、软件开发人员及数字艺术家。她很早就开始进行Internet相关的研究,也是Ada Project的共同发起人(Ada Project是一个针对在计算机界工作的女性而设计的网站,曾获得大奖,现在已经并入ACM)。最近她带领迪士尼的数字媒体研发力量与他人共同发明了一个名为Motion的内容系统,此系统每天传送巨量的数字内容给迪士尼、ESPN及Movies.com的用户。
Elisabeth本质上是一个计算机科学家,拥有耶鲁大学和印第安那大学的计算机科学硕士学位。她的工作领域很广,包括视觉语言、RSS内容整合与Internet系统。
她也很积极提倡女性从事计算机工作。今天,你可以发现她在她的Mac上使用Java或Cocoa,但是其实,她最希望的是全世界都使用Scheme。从小在苏格兰长大,Elisabeth喜欢在大自然踏青及户外活动。一旦她在户外,相机总是不离手。她热爱骑单车,是个素食主义者,也很喜欢动物。
她的电子邮件信箱是beth@wickedlysmart.com,你可以发电子邮件给她。
Elisabeth is an author,software developer and digital artist.She's been involved with the Internet since the early days,having co-founded The Ada Project (TAP),an award winning web site for women in computing now adopted by the ACM.More recently Elisabeth lead research and development efforts in digital media at the Walt Disney Company where she co-invented Motion,a content system that delivers terabytes of video every day to Disney,ESPN and Movies.com users.
Elisabeth is a computer scientist at heart and holds graduate degrees in Computer Science from Yale University and Indiana University.She's worked in a variety of areas including visual languages,RSS syndication and Inter net systems.She's also been an active advocate for women in Computing,developing programs that encourage women to enter the field.
These days you'll find her sipping some Java or Cocoa on her Mac,although she dreams of a day when the whole world is using Scheme.
Elisabeth has loved hiking and the outdoors since her days growing up in Scotland. When she's outdoors her camera is never far.She's also an avid cyclist,vegetarian and animal lover.
You can send her email at beth@wickedlysmart.com.
 
 
Kathy Sierra
 
Kathy自从开始设计游戏以来(她为Virgin、MGM、Amblin等都编写过游戏),一直对学习理论很感兴趣。Head First系列的大多数格式都出自她的手,具体来说,都是她在为UCLA Extension(加利福尼亚大学洛杉矶分校)的“Entertain ment Studies”研究项目教授“New Media Authoring”(新媒体创作)课程时完成的。
最近,她成为Sun公司的一名高级培训人员,负责教Sun的Java讲师如何讲授最新的Java技术,并参与开发了多个Sun的认证考试,其中就包括SCBCD考试。与Bert Bates一道,她积极地使用Head First概念来教成千上万的开发人员。她还是世界上最大的Java群体网站javeranch.com的创始人之一,这家网站赢得了2003年和2004年《软件开发》杂志生产力大奖。有时你还会看到她在Java Jam Geek Cruise(geekcruises.com)给学生上Java认证课程。
她最近从加州搬到了科罗拉多,在这里,她得学习一些新的词汇,包括“刨冰机”、“羊绒大衣”(译注),但是在这里的字典里找不到闪电两个字。喜欢的事:跑步、滑雪、滑板、和她养的冰岛马玩、以及怪力乱神的玩意儿。不喜欢:Entropy(混乱)。
你可以在javaranch.com找到她,偶而她也会出现在java.net的blog中。写给她的信可以寄到kathy@wickedlysmart.com。
译注: 加州会打雷,科罗拉多州会下雪。

Kathy从开始设计游戏(她为Virgin、MGM和Amblin等都编写过游戏)和开发AI应用以来,一直对学习理论很感兴趣。Head First系列的大多数格式都出自她之手,具体说来,都是她为UCLA Extension(加利福尼亚大学洛杉矶分校)的“EntertainmentaStudies”研究项目讲授“NewaMedia Interactivity”(新媒体交互)课程时完成的。最近,她成为Sun Microsystems公司的一名高级培训人员,负责教Sun的Java讲师如何讲授最新的Java技术,并参与开发了多个Sun的认证考试,其中就包括SCWCD考试。她与Bert Bates一道积极地使用Head First概念培训了成千上万的开发人员。她还是世界上最大的Java群体网站javaranch.com的创始人之一,这家网站赢得了2003和2004年《软件开发》杂志生产力大奖。她的爱好包括跑步、滑雪、骑马、玩滑板,还有超自然科学。
Kathy has been interested in learning theory since her days as a game designer (she wrote games for Virgin,MGM,and Amblin').She developed much of the Head First format while teaching New Media Authoring for UCLA Extension's Entertainment Studies program.
More recently,she's been a master trainer for Sun Microsystems,teaching Sun's Java instructors how to teach the latest Java technologies,and developing several of Sun's certification exams.Together with Bert Bates,she has been actively using the Head First concepts to teach throusands of developers.Kathy is the founder of javaranch.com,which won a 2003 and 2004 Software Development magazine Jolt Cola Productivity Award.
You might catch her teaching Java on the Java Jam Geek Cruise (geekcruises.com).
She recently moved from California to Colorado,where she's had to learn new words like,"ice scraper" and "fleece",but the lightning there is fantastic.
Likes:running,skiing,skateboarding,playing with her Icelandic horse,and weird science.Dislikes:entropy.
You can find her on javaranch,or occasionally blogging on java.net.Write to her at kathy@wickedlysmart.com.
 
 
Bert Bates
 
Bert很早就是一位软件开发者和建构师,不过由于在人工智能领域有近十年的经历,使得他对学习理论和基于技术的培训发生了兴趣。从那以后,他一直在教客户学习编程。最近,他成为Sun的Java认证考试开发小组的一员。
在他软件生涯的最初十年,他全世界游历,向Radio New Zealand、Weather Channel和Arts& Entertaininent Network(A&E)这样一些客户提供帮助。他最得意的项目是为Union Pacific Railroad构建了一个全轨系统仿真应用。
长久以来,Bert一直是无可救药的围棋玩家,玩围棋的时间已经长得超乎想象。他的吉他弹得不错,现在更意图染指Banjo(五弦琴或称斑鸠琴)。
你可以在Javaranch.com找到他,或者在IGS go Server上找到他。你也可以通过
terrapin@wickedlysmart.com给他写信。

Bert很早就是一位软件开发者和建构师,不过由于在人工智能领域有近十年的经历,使他对学习理论和基于技术的培训发生了兴趣。在他软件生涯的最初十年,他在全世界游历,为诸如Radio New Zealand、Weather Channel和Arts & Entertainment Network (A & E)之类诸多客户提供帮助。他现在是Sun的Java证书考试开发小组中的一员,参与开发了许多证书考试,其中就包括新的SCWCD考试。 Bert可以长时间地玩go游戏,无可救药地上了瘾,而且为go程序投入了很多精力。最后,还是Java语言的影响力让他终于罢手。他是一个不错的吉他手,现在正在努力学五弦琴。最近他买了一匹冰岛马,这也是他培训生涯中的一个新体验……
Bert is a long-time software developer and architect,but a decade-long stint in artificial intelligence drove his interest in learning theory and technology-based training.He's been helping clients becoming better programmers ever since.Recently,he's been heading up the development team for several of Sun's Java Certification exams.
He spent the first decade of his software career travelling the world to help broadcast clients like Radio New Zealand, the Weather Channel,and the Arts & Entertainment Network (A & E).One of his
all-time favorite projects was building a full rail system simulation for Union Pacific Railroad.
Bert is a long-time,hopelessly addicted go player, and has been working on a go program for way too long.
He's a fair guitar player and is now trying his hand at banjo.
Look for him on javaranch,on the IGS go server,or you can write to him at terrapin@wickedlysmart.com.