CARVIEW |
By Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
October 2004
Pages: 676
Series: Head First
ISBN 10: 0-596-00712-4 |
ISBN 13: 9780596007126
(Average of 30 Customer Reviews)
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
Full Description
At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.
You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.
You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern.
Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.
With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
Featured customer reviews
excellent book, October 06 2008





this is an excellent book! Their cognitive strategy definitly works. The examples are very good. The only point of criticism I have, is that all the code-examples are in Java. This publication screams for a C#-edition.
Head First Books should be rethought, August 07 2008





This book as both mediocre to poor coverage of the topic and an irritating style.
I detest the Head First series, I think for good reason. They think they have advanced pedagogical concepts to offer, but they offer mainly an attitude and a vernacular. The cutting-edge the concept that variety in the presentation will make your brain "worried that the unusual thing you see might be a tiger," thus paying attention and absorbing more. But to be unusual, it needs to vary. Instead, their is a formula that starts out a little unusual (and much too cute) and becomes repetitive in the way they fault other books for being.
On top of this, the examples used in the material are poor. Though I did learn something about the patterns used, I found it frustrating that the examples were cute in the same way the presentation style is cute, rather than making sense. The Decorator pattern uses an example that no one would actually program with. Though the concepts make some sense, the example is not logically structured, and you end up not feeling you have a good sense of why the pattern would help because you fault the fundamental organization of the example.
The editors of this series need to revisit the premise of the series, and ensure that the content meets O'Reilly standards. The Head First books I have read fall short
Excellent for knowledge that stays, November 13 2007





Either you'll love it or hate it. Personally I love it. I even got so enthusiastic about it that I formed a study group at work and we are now reading & presenting based on the materials in this book.
The book says that it is for Java programmers,. but a seasoned C++ developer or C# will have no problems whatsoever - since the examples are very clear and to the point.
It is NOT a reference book,. but a book for learning and remembering
Design Patterns and Generics, July 22 2007





For the Second Edition, it would really be great if you should how "Generics" could should be incorporated into these patterns.
More please, June 16 2007





If a second edition is in the works, I would really like to see working examples of the leftover DPs. A single working example that just shows how to get going on these other DPs would be an immense value. For me the greatest values of the book is in both the exaplanations of why the DP is useful,principles, and examples. In fact, I'd buy a book on just these "orphan" DPs--either an e-book or regular one if they included nice clear examples of the DPs.
Some Real Annoyances, May 23 2007





I really liked the style of the book a lot and I learned tons from it. But some of the code samples are presented in such a way that you spend a lot of time adding to them to get them to work. In version 2 I would recommend the authors explain more about creating packages and the like when presenting samples. Saves a lot on frustration for newbies like me.
Don't stop writing !, April 28 2007





I am an ex-physicist and i've started learning design patterns in C# with this book. This is the first one which talk about that i could understand when i was beginning. It's because i've red this book that i have also red "Elements of Reusable Object-Oriented Software"
Inspirational, April 18 2007





I am not a Java but a C++ software engineer but had no problem understanding the lingo and examples in the book.
This is by far the BEST book I have seen on patterns - it is easy to understand the workings on them and it is very inspirational writing that makes you to think about your current work and re-evaluates design decisions
Heading in the right direction..., March 11 2007





I just wish more technical books were written in this way - humour, images, well researched content and digestably sized chapters. I've recommended it to others and had simiar responses as a result.
dead last, December 19 2006





The constantly changing fonts (some of them cartoonish), font sizes and styles may have seemed like a "cute" approach at first but they quickly become annoying. Some pages have the look of a "Ransom Note" made up of bits and pieces cut and pasted from all kinds of sources. This has never been considered a good design paradigm by anyone, anywhere. Pretty sad for a book on DESIGN patterns.
head last, December 18 2006





Someone once said "The first victim of War is truth". I like to turn this around when commenting on technological education and say "The first victim of expertise is perspective". Time and time again I read things written by "experts" wherein it is abundantly clear that the person doing the writing/speaking knows exactly what they're talking about. Unfortunately, they've completely forgotten what it was like to "not know" and they are at a loss as to how to communicate/teach their subject to the uninitiated.
This is the feeling I get when reading this book. The author(s)'s credentials are impeccable. There seems to be an implied level of previous knowledge which is assumed on the part of the author - as if the book is intended as a review for those folks who already know this stuff.
I didn't buy the book (a mistake) because I already know this stuff. I bought the book because I don't and wanted to learn.
A lot of the language reads like goobledegook. There seem to be MANY assumptions of prior knowledge and you know what the wise man said about what happens when you ASSUME.
Very disappointing. I wuldn't even give it one star except that's the lowest rating available.
great way to learn, November 06 2006





the way this book teaches you design patterns is both refreshing -- and also in line wiht how I learn best. It would be an even better experience if it came with an audio file to support some of the heavier topics.
Poorly chosen example, October 27 2006
Submitted by kriviere [Respond | View]
First off, I only read the sample chapter 3, but the example shown there seemed so poorly chosen that I lost interest. I'm sure the decorator pattern they described is useful, but the various decorator classes they created were so similar that they varied only in their data. A much simpler design driven by data instead of having to write additional code when a new option is added would be much more appropriate. If the examples in other chapters are as poorly chosen then this could lead to learning the wrong lessons about which patterns to use.
(p.s. this comment form didn't display properly in Firefox 1.5.0.7. The image of the cover overlay the fields for the name and whatever the second field is.)
I would love learning if my tutor taught like that..., September 14 2006





What a fantastic way to learn! I wish I had a tutor who taught like that, and I would love studying at colleges...
Amazingly Brilliant, July 23 2006





Makes learning a fun, and never looses its core objective of ensuring that the reader understands the intent of each pattern.
A killer combination.
Buy it, read it, you'll never regret it.
Excellent, May 02 2006





Excellent book that makes me understand a little bit more. Feels it should be combined with a lot of exercise and maybe a study group. Really nice that someone has done some c# examples...
See Mark McFadden C# examples
(https://www.wickedlysmart.com/HeadFirst/HeadFirstDesignPatterns/HeadFirstPatternsIndex.html")
https://www.msquaredweb.com/DesignPatterns/
Wouldn't had learned Design Patterns w/o this book, April 25 2006





This is my first reading of Head First series books. And already hooked on to the Gang of Fours. Without this books I would have never been able to understand design patterns.
Excellent rendering of complex material, March 24 2006





Encouraged by a wise colleague, when I first read the GOF book way back in '97, it was a revelation. At that juncture, I had already read the tomes by Rambaugh and Booch. Though these books enabled me to talk about merits of OO design vs. procedural languages, using them in practical situation was difficult. I usually ended up designing deep inheritance trees and when stuck resorted to declaring friend functions and classes.
But "Design Patterns" by GOF totally changed my life(that sounds geeky). I understood how to use composition and started writing better OO code. But reading that book was some task. It was difficult read and understanding a pattern required several reads. This is probably the reason that the most popular pattern is "Singleton?, sadly that too is usually misused.
The "head first design pattern" has given a different treatment to the whole topic. It has simplified it for the future generation of OO programmers. It's a "must read" for every budding programmer, and I would also recommend it to everyone who has read the seminal "Design Patterns" book and wished they would write a simplified "Revised edition".
-Sharad Hegde

Submitted by Elisabeth Freeman [Respond | View]
Hello -
Very glad to hear you like Head First!
To answer your questions:
Head First Objects, coming out in 2006 will have some UML. Head First UML is definitely on our list of "would love to have" titles, so hopefully that will come soon, too.
Color: Head First HTML with CSS & XHTML is a beautiful, four color book. You'll see this in stores in December.
Beth Freeman
Head first UML, pretty pleeeeaaasse??, September 06 2005
Submitted by Anonymous Reader [Respond | View]
What I forgot to ask - next time in color, maybe? For that I would even give a six star rating ... :)
Head first UML, pretty pleeeeaaasse??, September 06 2005





I am **AMAZED** by the head first approach. I purchased "Head first design patterns", and I love it. I can't express how grateful I am that for once someone company tried to deliver knowledge in a different (and in my eyes very much more effective!) way. Actually after having taken a look into HFDP I picked up the "gang of four", because -- after all -- it does look more "serious" and has an excellent reputation, so I thought I might maybe be better of buying this one.
About one minute later I was purchasing the Head First book.
And yes, it's that great. I am actually looking forward to reading a new chapter, every time I have to take a break. (Remember? It's a book about software design theory, not a Dan Brown thriller, right?)
It's funny, informational, and it gets the knowledge into my brain. I love it.
But - I have one little plea: "HEAD FIRST UML 2.0".
Everyone seems to love UML, but -- to be honest -- this is by far the most boring, dry, non-practical, headache-creating stuff to be learned by reading a book. But after seeing the Head First approach, I start to think that this could be done a bit better ... :)
A very interesting book of a relatively complex subject., June 24 2005





This is the first time i've ever given a 5 star rating to a book!
This is definately the most interesting and entertaining book i have ever come across on the subject of design patterns. The depth and scope of coverage, makes it a very well balanced read for both design patterns and fundamentals of good object oriented design. Even though the title of the book is simply "Design Patterns", it covers some very important aspects of OO design in addition to it.
The books covers some very practical examples and problem scenarios that programmers and software engineers encounter in their daily environments, which makes it very valuable to the reader and fun to read as well.
I wish if the "Head first" series would add much more topics in their collection of publications. :)
Syed Ghaznavi
Like it!, June 20 2005





I haven't finished it, but so far so good. Knowing that this question is rather sacreligious to a Java person, but I'd like to see a .NET version. Not that much would change, and I don't have an issue with the Java syntax, but there are differences. Or perhaps you could add C# code below the Java code, if there are differences.
Other than that, it's a refreshing book that I've thusfar enjoyed.
Enterprise Design Patterns?, April 27 2005





This book looks great. I ordered my copy almost immediately after reading the sample chapter (chapter 3 on the Decorator pattern). If the rest of the book is that easy to understand and follow, then I'm really looking forward to future Head First titles.
I was wondering, though... Is there going to be an Enterprise Design Patterns book any time in the near or distant future?
Hitchhiker's Guide to Design Patterns, April 23 2005





I consider myself an expert in Java, but a total amateur when it came to design patterns. This book gave me the confidence to sling my backpack over my shoulder, grab my guitar case, write "design patterns or bust" on a piece of cardboard, and hit the road.
Too many times I've attempted to read articles on design patterns (sometimes from Sun's Java site). Inevitably I pray for a big red button that I could press repeatedly to make sense of the garbage.
About six months ago when the book was published I snapped it up and expected another "oh so fun" read (only a trite bit of sarcasm). However, I was immediately impressed with the writing style that appealed to multiple learning styles. The bizarre and quirky pictures and layouts made the material fun and interesting to navigate. I did not have to suffer through page after page of the same boring technical explanations.
I was able to start using the examples in the book and was soon able to integrate the material I had learned into my own daily projects at work. After a few months of reading and re-reading pieces of the book my projects at work have drastically improved as have my Java architect design skills. This past week I interviewed for and was offered a Java architect position at a very prestigious research lab in upstate NY. I definitely plan to share this excellent design patterns book with my new colleagues when I start my new position next Monday.
I am very appreciative to the entire Head First design team for producing such a fantastic text (part of the real I wrote this review). I very much look forward to upcoming "Head First" texts from O'Reilly.
Absolute killer, Must read!, March 21 2005





Hi
Great book.
The most important aspect that I liked about this book is it's simplicity and usage of simple/fun language with good examples.
I was for so long trying to understand the GOF book but never really got it straight.
I often wished if the authors would have written that book in much simpler language and provided java examples.
But this book fills in that void.
Good job by the authors.I would love to read EJB design pattern book from them.
Regards,
Ash
Learn with Fun...D.P. Great Fundas..., March 07 2005





My comment is already given by Eric Gamma...in the book.This book is very interesting to read,makes one 's Funda Deep in OO,Reusable,Maintainable Design of software.I think Everyone who is using DP should Read this book so that more and more Funda would get settle in one's Brain.Also After Reading this book its easy to find Pattern Because its example is real life (that we face many times in design) and Funny also so easy to remember.
Also the person who wants to enter in DP from Scratch this book would be proved as Bible of "DP Funda's" after GoF book.
My first funny computer book with interesting content, March 02 2005





Head First Design Patterns
(https://www.oreilly.com/catalog/hfdesignpat/index.html)
By Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
676 pages, US $44.95
---
I always hear the term of design pattern in programming books and magazines, e.g. factory pattern, singleton pattern. This takes my attention to know more about them. Therefore, I have looked for a book of design pattern for a long time. But most of them are boring and hard to understand as common computer books and web articles. Fortunately, I found this book.
The beautiful and funny book cover gives me a good first impression. After I got the book, woo~ what a thick and heavy book! I felt afraid because I guessed it would be full of text and I may need several months to complete it.
Nonetheless, boring is not the truth. With a lot of funny stuff (big font size, graphics, photos, hand writing stretches), exercises/games (crossword puzzles, match games), story like format, elaborate content, I couldnt stop to read. I am able to get a clear picture of each pattern in easy and interesting ways. It does not deeply explain the detail of each pattern, but gives you a well introduction to each pattern with sample codes. It is suitable to people who are getting start to learn about design pattern.
However, the thickness of the book brings inconvenience. I cannot put it in my briefcase, carry it on the way and read it in bus. I think it will be better if the size can be reduced.
In conclusion, the book is cool and smart. I will recommend it to my friends.

Submitted by Elisabeth Freeman [Respond | View]
Achim,
On page 26 in the left bubble, you'll find the descriptions of all the sandwiches. They correspond exactly to the names in the right bubble. So C.J.White is the first sandwich in the list on the right, so it corresponds to a "Cream cheese with jelly on white bread".
Regarding the British looking socket and ac adapter - they are British. Silly us, we thought Britain was part of Europe.
We're very glad to hear that the book is helping you! Thanks for the review.
Beth
i18n of "design patterns", February 18 2005





I want to thank the authors for this book, which helps me a lot achieving new levles in java coding ;)
I have one minor suggestion for the second edition of this book. I would appreciate if the examples you chose for clarifying certain point would be understandable for an international readership - for example I simply didn't get the diner talk on page 26 - what's a 'C.J. White' for example?
Otherwise keep up the good work and have fun.
Achim
p.s.
the socket and the ac adapter shown seemed british to me and not (continental) european :^P
ar
Very Good and I want to say excellent, January 04 2005





The book broke my inability to grok some of the patterns. I am very appreciative to the authors.
I had not been able to see "inversion of control" or
dynamic proxy before.
The authors should be congratulated for their development and explanation of the patterns. It
was the best, the very best pattern book, I have read.
Sorry, but I didn't really enjoy or find valuable the features such as the crosswords, guru, interviews etc. The cute photos and text to start the chapters such as 5 were good for a chuckle but not worth the space they took up. I skipped over much of the cute/hip/creative stuff. It must have taken a lot of work, but I don't think it was worth it. I focused on the text and the script annotations. What do the say, "No fluff, just stuff". That's my preference but then I am not an artist or an editor.
I liked the design principles and wonder if it
shouldn't be discussed upfront in chapter 1 and then reinforced in subsequent chapters.
I was very
disappointed with the cursory treatment given
to the "other" patterns in chapter 14/appendix.
The book seemed to run out of gas.
Chapters 11,12,13 were hard for me to get thru
and I had found myself eager to read and discover
in the previous chapters. As mentioned before,
the dynamic proxy was most helpful and the explantion of MVC2 clarified my understanding.
Chapter 4 was a heavy chapter. I need to go
back and reread the whole book, but I felt
that 4 was the toughest for me. I wondered
why the abstract factory wasn't presented first.
Some authors also discuss a "Null" Pattern but
that seemed to be viewed as a useful feature
or idiom but not really a pattern.
I hope my somewhat lengthy review might be helpful for a future edition. I got more out of this book than another computer related book in the past year.
I feel like I did after seeing " Lemony Snicket's...", Jim Carey was terrible and he got
in the way of the movie. I felt the "yucks" got in the way of an very good book
One of a Kind Book, January 04 2005





This is honestly the best book that I've ever read. Here are my reasons:
1. The writers know their stuff.
2. Thanks to the Head First series, this book explains design patterns in a clear and concise way.
If the book wouldn't contain the detailed illustrations and visual metaphors that not only remain in your brain but explain and refrain from traumatic eye strain, then I believe that 95% of the design pattern students would inherently be failures at the subject.
You don't remember what you do not understand. It's one thing to try remember zen like explanations for a day, it's insane to think that you would remember it for the rest of your life - let alone use it!
3. I love Mac OS 10. :)
A hearty thanks to the Head First crew.
Wow, November 21 2004





I am ashamed to admit this but I felt really dumb after reading and re-reading the GoF and other related pattern books and just not "getting it."
This book feels like cheating because it just does not read like any other computer book I have read before it and it really left an impression. Most importanly it left information I was able to grasp, digest, and use.
I am more inclined to lean towards languages like C and C++ and though Java is the language used for examples I had zero problems understanding and adapting.
I thought I knew OOP. After reading this book I now know what it means to use the OOP paradigm appropriately. I realize that this is a book about design patterns but if you read this review and you are the least bit uneasy about patterns or OOP, save yourself time, energy, sweat and tears and GET THIS BOOK!
This book improved my life and reduced my strife. Writing code is not the chore it had turned out to be for so long thanks to using this learner and the authors command of the material, delivery, and passion for my success in understanding.
Thanks, November 10 2004
Submitted by Anonymous Reader [Respond | View]
Anonymous Reader, the Ferris quote is just brilliant and it describes exactly the kind of experience we want all readers to have!
Eric
P.S. Can we use that quote in the next printing? ;)
Finally, a fun way to learn about design patterns!, November 10 2004





Usually when reading through a book or article on design patterns I'd have to occasionally stick myself in the eye with something just to make sure I was paying attention - until I picked up this book.
The first thing you notice is the pages are not paragraph after paragraph of information. There isn't a single page that doesn't contain a doodle, a sidebar, a picture, or something different. While at times it can be a little distracting, it's in a good way (at least I don't have to poke myself with something sharp anymore).
The chapters cover various design patterns and along the way have exercises such as crossword puzzles or match games to test your understanding. The answers are also included at the end of the chapters - so you don't need to purchase a "Teacher's Edition" on the black market. =)
Typically, books on design patterns are saying, "Buehler... Buehler... Buehler...". This book is belting out "Shake it up, baby!"
Media reviews
"Last week I read through Head First Design Patterns--what an amazingly good book. This is the not only the first technical book that I have ever laughed out loud while reading, but I read sections to my wife which cracked her up too. The nice thing about this book, though, is that the technical content is also superb. I learnt so much just getting through the first chapter. Everything is just so well explained, and the way the authors work in examples, quizzes (even crossword puzzles), sample dialogues etc all works together to enhance the learning experience. I couldn't wait to finish it, and plan to reread it during the next few weeks."
-- Paul Rayner, VirtualGenius
"One of the funniest and smartest books on software design I've ever read."
-- Aaron LaBerge, VP Technology, ESPN.com
"Unlike books whose authors seem cold these guys sound very friendly and cool. They definitely know their stuff and more importantly know how to present a logical argument."
-- Shivakumar Jayaraman, Silicon Valley BEA User Group
"When I first saw the book, I was skeptical because of the diagrams and cartoon-like cover and inside pages. Text is at a minimum in Head First Design Patterns, with most of the book consisting of diagrams, pictures, Java code snippets, and just a bit of text scattered throughout. But by the time I finished reading three chapters, I was enjoying the visual approach the authors took. The book is written with a sense of humor and feels more like a conversation than a lecture. That's not to say the book doesn't have valuable contentit is just focused content presented in a nontraditional manner... Freeman et al., present 12 patterns in detail and briefly introduce another nine at the end. Overall, I enjoyed how Head First Design Patterns was written and found myself flipping pages and absorbing the combined visual and textual content on the new page and not missing the good old paragraph one bit."
--Gregory Lapouchnian, C/C++ Users Journal, June 2005
" Since the original Design Patterns - Erich Gamma et al (GoF Book), I have been waiting for a book like this, that agrees with my interpretation of GoF and contains well-implemented examples. On the front cover, there is the statement: 'Learn why everything your friends know about Factory pattern is probably wrong'. This is so true!"
--Dr. Heinz Kabutz, JavaSpecialists, August 2005
"...this book won't be a waste of your time or money. Sure, it presented a lot of concepts that I already kinda knew at a gut level, but it did so in a more informative, formal and structured way, the end result of which makes you more cognizant of 'design patterns,' literally. What does this buy you? Well, as the authors point out, it helps you THINK in terms of PATTERNS as you try to solve a problem. And this (I believe) will lead to better overall designs--which will definitely pay big dividends when the time comes for the code to change. And we all know it will."
--Larry Hannay, Amazon.com review, June 2005
Read all reviews

- Table of Contents (PDF)
- Sample Chapter
- Code Downloads and Related Articles
- Discussion Forum
- Register Your Book
- View/Submit Errata
- View/Submit Review
Got a Question?
"One of the funniest and smartest books on software design I've ever read."
--Aaron LaBerge, VP Technology, ESPN.com
![]() © 2008, O'Reilly Media, Inc. (707) 827-7000 / (800) 998-9938 All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. |
About O'Reilly Privacy Policy Contacts Authors Press Room Jobs User Groups Academic Solutions Newsletters Writing for O'Reilly RSS Feeds |
Other O'Reilly Sites O'Reilly Radar Ignite Tools of Change for Publishing Digital Media Inside iPhone O'Reilly FYI makezine.com craftzine.com hackszine.com perl.com xml.com |
Sponsored Sites Inside Aperture Inside Lightroom Inside Port 25 InsideRIA java.net |