Programming Books C Java PHP Python Learn more Browse Programming Books
Head First Design Patterns and thousands of other textbooks are available for instant download on your Kindle Fire tablet or on the free Kindle apps for iPad, Android tablets, PC or Mac.

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

To view this video download Flash Player

 


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

Head First Design Patterns [Paperback]

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

Buy New
$28.99 & FREE Shipping on orders over $35. Details
Rent
$15.79 - $19.77
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
 
Kindle Edition
Rent from
$24.79
$10.15
 
Paperback $28.99  
Unknown Binding --  
Technology Books from O'Reilly Media
Brush up on topics from programming to electronics for readers of all levels in the O'Reilly Media bookstore. Browse titles in the animal books, "Missing Manuals," "Head First," series, and more.

Book Description

November 4, 2004 0596007124 978-0596007126 1

You're not alone.

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.


Frequently Bought Together

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

Buy the selected items together


Editorial Reviews

Review

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 http://www.ericfreeman.com .

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 javaranch.com, the largest (and friendliest) all-volunteer Java community.


Product Details

  • Series: Head First
  • Paperback: 678 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 (416 customer reviews)
  • Amazon Best Sellers Rank: #7,466 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
268 of 289 people found the following review helpful
5.0 out of 5 stars Best way to learn Design Patterns November 10, 2004
Format:Paperback
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?
109 of 120 people found the following review helpful
Format:Paperback
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?
235 of 267 people found the following review helpful
5.0 out of 5 stars Irreverent, fun and <gasp> educational November 8, 2004
Format:Paperback
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?
30 of 31 people found the following review helpful
5.0 out of 5 stars The quality is evident! December 31, 2006
Format:Paperback
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 ›
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
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 20 days 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 1 month 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 1 month ago by Charles Grahm
5.0 out of 5 stars Good Beginner's Guide
If you're looking for a beginner level book on design patterns, this is it. The style is somewhat verbose but the examples are very well developed and lucidly illustrate the basic... Read more
Published 1 month ago by Vinod Khare
3.0 out of 5 stars Good book
I like it, I have learned from it, but sometimes I find myself reading the same things over and over during the same chapter. Read more
Published 1 month ago by Rafael Negron
5.0 out of 5 stars Great book!
The book is well written in a way that is easy to understand! It's a very natural read. Would definitely recommend!
Published 1 month ago by Mr. Deal
4.0 out of 5 stars Get it to learn Design Patterns
The code is Java, but C# programmers will have no difficulty translating. A great way for me to learn patterns as a programming enthusiast (not professional. Read more
Published 1 month ago by J. Robb Wilson
2.0 out of 5 stars A pain to read.
They try too hard in trying to explain design pattern concepts. I have read a few other Head First books for Java Script and CSS and those are good. Read more
Published 2 months ago by Will
2.0 out of 5 stars Kindle: main text is okay; sample code, other images are unreadable
I always search for "kindle edition" when buying technical books in the hope that someone else has determined if the graphs and images made it through the digitization "process",... Read more
Published 2 months ago by J. Endries
3.0 out of 5 stars A caution for the grammarians among us...
Not everyone cares about stuff like this, but to me it's distracting. The book is riddled with punctuation & grammar errors throughout: for example, the authors don't know the... Read more
Published 2 months ago by Larry McPhillips
Search Customer Reviews
Only search this product's reviews
ARRAY(0xa55f02d0)

What Other Items Do Customers Buy After Viewing This Item?


Forums

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.

hth,

Bert
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
Start a new discussion
Topic:
First post:
Prompts for sign-in
 




Look for Similar Items by Category