深入浅出设计模式(影印版)
深入浅出设计模式(影印版)
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
出版时间:2005年11月
页数:638
你不想重新发明车轮(或者更差的是,没有充气车胎的轮子),所以从设计模式中寻求帮助——设计模式是过去人们面对同样的软件设计问题所得到的经验。有了设计模式,就可以利用其他人的实践经验的精华,因此省下的时间可以用在其他的事情上,如:更有挑战性的事情、更复杂的事情以及更有趣的事情。你想要学习:
*重要的模式
*何时使用某个模式,为何使用该模式
*如何在你自己的设计中马上采用这些模式
*何时不该使用该模式(如何避免滥用模式)
*某个模式是依据哪些面向对象设计原理而设计出来的
更重要的是,你想在学习设计模式的过程中不感觉到昏昏欲睡。如果你曾经读过任何一本“深入浅出”(HeadFFirst)系列书籍,你就会知道能够从本书中得到的是:透过丰富的视觉效果让你的大脑充分地运作。本书的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得这本书能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
Eric Freeman以及Elisabeth Freeman是作家、教育家以及技术发明者。他们在迪斯尼公司领导了四年的数字媒体以及因特网的开发,后来他们将这些经验应用在他们自己的媒体中,包括这本书中。Eric具有耶鲁大学的计算机科学博士学位,Elisbath具有耶鲁大学的计算机科学硕士学位。
Kathy Sierra(javaranch.com的创始者)以及Bert Bates是畅销的“深入浅出”(HeadFFirst)系列书籍的策划者,也是Sun公司Java开发员认证考试的开发者。
  1. Intro
  2. 1 Welcome to Design Patterns: an introduction
  3. 2 Keeping your Objects in the know: the Observer Pattern
  4. 3 Decorating Objects: the Decorator Pattern
  5. 4 Baking with OO goodness: the Factory Pattern
  6. 5 One of a Kind Objects: the Singleton Pattern
  7. 6 Encapsulating Invocation: the Command Pattern
  8. 7 Being Adaptive: the Adapter and Facade Patterns
  9. 8 Encapsulating Algorithms: theTemplate Method Pattern
  10. 9 Well-managed Collections: the Iterator and Composite Patterns
  11. 10 The State of Things: the State Pattern
  12. 11 Controlling Object Access: the Proxy Pattern
  13. 12 Patterns of Patterns: Compound Patterns
  14. 13 Patterns in the Real World: Better Living with Patterns
  15. 14 Appendix: Leftover Patterns
书名:深入浅出设计模式(影印版)
国内出版社:东南大学出版社
出版时间:2005年11月
页数:638
书号:7-5641-0165-2
原版书出版商: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.