Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $11.60 Gift Card
Trade in
Kindle Edition
Read instantly on your iPad, PC, Mac, Android tablet or Kindle Fire
Buy Price: $22.99
Rent From: $10.15
More Buying Choices
Have one to sell? Sell yours here

Head First Design Patterns [Paperback]

Eric Freeman , Bert Bates , Kathy Sierra , Elisabeth Robson
4.6 out of 5 stars  See all reviews (423 customer reviews)

Buy New
$36.24 & FREE Shipping. Details
$19.48 - $22.57
In stock but may require an extra 1-2 days to process.
Ships from and sold by Gift-wrap available.
In Stock.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Kindle Edition
Rent from
Paperback $36.24  
Unknown Binding --  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

November 4, 2004 0596007124 978-0596007126 1

What’s so special about design patterns?

At any given moment, somewhere in the world, someone struggles with the same software design problems you have. But better yet, someone has already solved your software design problems. Head First Design Patterns shows you the tried-and-true, road-tested, successful patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you’ve finished reading this book, you’ll be able to take advantage of and communicate the best design practices and experiences of those who have fought the beast of software design and triumphed.

What’s so special about this book?

We think your time is too valuable to spend struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Frequently Bought Together

Head First Design Patterns + Head First Java, 2nd Edition + Effective Java (2nd Edition)
Price for all three: $107.17

Some of these items ship sooner than the others.

Buy the selected items together

Editorial Reviews


This is a gimmicky book that actually works for once. It is an intelligent and well thought-out discussion of Java design patterns, and if you dont know what a design pattern is then this is an excellent way to find out. It is also an interested discussion of object-oriented design. I found that the authors often anticipated my reaction to their initial explanations and asked the questions that I would have asked had it been a lecture. - Mike James, VSJ, April 2005

About the Author

Eric Freeman is a computer scientist with a passion for media and software architectures and coauthor of Head First Design Patterns. He just wrapped up four years at a dream job-- directing internet broadband and wireless efforts at Disney--and is now back to writing, creating cool software, and hacking Java and Macs.Eric spent a lot of the '90s working on alternatives to the desktop metaphor with David Gelernter (and they're both still asking the question, "Why do I have to give a file a name?"). Based on this work, Eric landed a Ph.D. at Yale University in 1997. He also co-founded Mirror Worlds Technologies (now acquired) to create a commercial version of his thesis work, Lifestreams.

In a previous life, Eric built software for networks and supercomputers. You might know him from such books as JavaSpaces Principles Patterns and Practice. Eric has fond memories of implementing tuple-space systems on Thinking Machine CM-5s and creating some of the first internet information systems for NASA in the late 1980s.

When he's not writing text or code you'll find him spending more time tweaking than watching his home theater and trying to restore a circa 1980s Dragon's Lair video game. He also wouldn't mind moonlighting as an electronica DJ.

Write to him at eric at wickedlysmart dot com or visit him at .

Elisabeth Robson (formerly Freeman) is coauthor of O'Reilly's Head First Design Patterns and Head First HTML with CSS & XHTML. She is currently Special Projects Director at O'Reilly where she is developing new brain-friendly learning ideas and products.

Bert Bates is a 20-year software developer, a Java instructor, and a co-developer of Sun's upcoming EJB exam (Sun Certified Business Component Developer). His background features a long stint in artificial intelligence, with clients like the Weather Channel, A&E Network, Rockwell, and Timken.

Kathy Sierra has been interested in learning theory since her days as a game developer (Virgin, MGM, Amblin'). More recently, she's been a master trainer for Sun Microsystems, teaching Sun's Java instructors how to teach the latest technologies to customers, and a lead developer of several Sun certification exams. Along with her partner Bert Bates, Kathy created the Head First series. She's also the original founder of the Software Development/Jolt Productivity Award-winning, the largest (and friendliest) all-volunteer Java community.

Product Details

  • Series: Head First
  • Paperback: 694 pages
  • Publisher: O'Reilly Media; 1 edition (November 4, 2004)
  • Language: English
  • ISBN-10: 0596007124
  • ISBN-13: 978-0596007126
  • Product Dimensions: 9.2 x 7.9 x 1.4 inches
  • Shipping Weight: 2.3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (423 customer reviews)
  • Amazon Best Sellers Rank: #5,475 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
270 of 291 people found the following review helpful
5.0 out of 5 stars Best way to learn Design Patterns November 10, 2004
At first I didn't understand how they would apply the Head First formula to design patterns. I'd read two head first before this one and I was impressed with those so I took a look and now, not only is it clear how they approached the topic, it's also clear to me that this is the best way to learn design patterns.

The Gang of Four book laid out the basics. Here is the pattern, here are some examples. The head first book goes a lot further. They show you good and bad examples of the pattern. They give solid reasoning behind the pattern. It's great.

There are times when I would look at a piece of code and have the author explain to me that it was based on one of the GoF patterns. I would come away thinking, if that's the pattern, then that pattern sucks. It's clear that patterns can be misapplied. So understanding the the how design patterns are applied, and how they are commonly applied wrongly, or to an extreme, is just as important as understanding the basic mechanics of the pattern itself.

The example code is in Java, but I think this is an ideal book for anyone passionate about patterns.
Was this review helpful to you?
110 of 122 people found the following review helpful
Unlike a lot of people, I don't care much for this book's 'irreverent' sytle. I think it masks some shortcoming in the examples it uses. But once you get past that, this is still the best introduction to object-oriented programming that I have read.

HFDP is not just about design patterns. It's a great introduction to object-oriented programming. The book does a great job of explaining the benefits of OOP over traditional procedural programming, and it explains OOP very well in terms of the most commonly used design patterns.

Now for the bad news. The examples are rather lightweight. They do a pretty good job of illustrating the concepts presented, but the code is in no way real-world. For example, if you are looking for which pattern to use to organize a UI (the 'Mediator', 'State', and 'Composite' patterns), with sample code, you won't find it here. The patterns are discussed, but they are used to create quacking ducks (really).

While that's by-and-large a shortcoming of the book, the code is so simple that non-Java programmers (like me) should have no problem using the book. The code samples are very basic, and should translate with little difficulty into .NET languages such as C# and VB.

One other item of note--this book contains a pretty good chapter on Model-View-Controller architecture, which seems to bedevil a lot of people. If you can get a handle on MVC, then you can pretty much do OOP.

In short, this is probably the book I would recommend as an intro to OOP. If you are under the age of 30, you will probably like the examples of quacking duck simulators and java-enabled gumball machines. For everybody else--it's worth looking past this book's insufferable cuteness if you are getting started in OOP.
Was this review helpful to you?
236 of 269 people found the following review helpful
5.0 out of 5 stars Irreverent, fun and <gasp> educational November 8, 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. Not with this book. Odd as it may sound, this book makes learning about design patterns fun.

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. =)

Other books on design patterns are saying, "Buehler... Buehler... Buehler..." while this book is on the float belting out "Shake it up, baby!"
Was this review helpful to you?
35 of 36 people found the following review helpful
5.0 out of 5 stars The quality is evident! December 31, 2006
Head first books tend to polarize readers I feel: you either love the unique methodology of the books or you hate it. They are extremely visual, often hilarious, and require you to do various activities to engage more fully with the content. This is similar to the traditional teaching methdology in mathematics: motivating example -> theory -> example -> your turn. This I find as a teacher, is a strong (pedagogical approach) methodology, particularly if you can make it fun, interesting and engaging. I, like the masses, like Head First Books (I have Servlets & JSP as well as this one. I have also read tracts of Java).

Anyway, that aside, the book provides a solid inroduction to selected design patterns- it doesn't cover all the GoF patterns. It contains (in order)

* Strategy

* Observer

* Decorator

* Factory

* Singleton

* Command

* Adapter and Facade

* Template

* Iterator and Composite

* State

* Proxy

* Compound Patterns

* Living better with Patterns

If you have no experience with patterns, I recommend this as a good Intro to the MasterWork by the GoF-> Design Patterns, Elements of reusuable Oject-oriented software IBSN: 0201633612. From personal experience, I found after reading the Head First pattern, I could pick up the GoF book, look at the same pattern and understand it with virtually no problems.

I have no hesitation recommending this book, if you like the Head First way, championed by Kathy Sierra. If you don't like apparent frivolity (I say apparent because there is an ulterior motive to this frivolity-> engagement.
Read more ›
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars I overheard Erich Gamma give praise to this book at an ECOOP and he...
Pedagogically the best OO design patterns book. Bravo Eric and Elisabeth Freeman! On the down side, I wish it had a summary reference to all the patterns.
Published 15 hours ago by Prof
4.0 out of 5 stars Four Stars
Nice book, good for someone who start learning programming .
Published 1 day ago by chai ming hiap
5.0 out of 5 stars great book.
great book. I love it. it clearly describes the design level and principles when trying to solve problems. thank authors.
Published 18 days ago by dianwei han
5.0 out of 5 stars Great place to start
This book is very clear and easy to read. Highly recommend for those new to OO programming. A great place to start learning design patterns.
Published 25 days ago by Kyle Goehner
4.0 out of 5 stars Give it a chance!
I am a professional IT trainer and have read dozens of technical books on software, languages and best practices over the years and, for me, I tend to prefer the ones that cut to... Read more
Published 1 month ago by L. S. Marcus
4.0 out of 5 stars Somehow this book packs serious content while still being easy to read...
I bought this book based on recommendations on StackOverflow and wasn't disappointed.

I have 15 years programming experience but no formal Computer Science or OO... Read more
Published 2 months ago by CJ Sharrock
5.0 out of 5 stars A very unique book in "Design Patterns" subject
One of the most easy-to-read books I've encountered. I could not feel the time passing when I was reading it.
Published 2 months ago by Mahan
5.0 out of 5 stars Makes design patterns easy to implement
The examples in the book are very well chosen. This gave me real insight in the impact of using design patterns in applications. Read more
Published 3 months ago by Rob Bontekoe
4.0 out of 5 stars great book but not for Kindle
Really interesting and easy to understand book. But do not buy it for kindle or any other e-readers. Read more
Published 3 months ago by Andrew
2.0 out of 5 stars Wow. Not for my learning style... at. all.
To those who came to this book looking for an alternative to GoF: I think the book you're looking for is "Design Patterns in Ruby," which is written to an intelligent reader in a... Read more
Published 3 months ago by Charles Grahm
Search Customer Reviews
Search these reviews only

What Other Items Do Customers Buy After Viewing This Item?


Search Customer Discussions
Search all Amazon discussions

Topic From this Discussion
Is this a good choice for a complete beginner?
Hi Jacqueline,

We intended this book to be an easy introduction to an advanced topic. If you're interested in making web pages or programming in general this book isn't the place to start. This is a shameless plug, but you might try Head First HTML as a first book.


May 11, 2010 by Albert J. Bates IV |  See all 3 posts
Why isn't this available for the kindle?
Unfortunately, you can't put books with lots of graphics and layout requirements on the Kindle yet.
Jan 27, 2012 by Elisabeth Robson |  See all 3 posts
Are the ideas limited to just Java or can they be extended to other... Be the first to reply
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category