Product Details
Head First Design Patterns (Head First)

Head First Design Patterns (Head First)
By Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra

List Price: $44.95
Price: $29.67 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

71 new or used available from $23.00

Average customer review:

Product Description

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.


Product Details

  • Amazon Sales Rank: #1200 in Books
  • Published on: 2004-10-25
  • Format: Illustrated
  • Number of items: 1
  • Binding: Paperback
  • 676 pages

Editorial Reviews

About the Author
Eric Freeman the director of engineering of new technologies at the Walt Disney Internet Group, focusing most recently on Digital Rights Management, content standards, new media formats, and video on demand over the Internet.

Elisabeth Freeman researches new technologies at the Walt Disney Internet Group, focusing most recently on Digital Rights Management, content standards, new media formats, and video on demand over the Internet. In her free time, she is learning XSLT and Objective-C/Cocoa on her Macintosh iBook.


Customer Reviews

Very good book5
I'm relatively new to Design Patters. Prior to reading this book I had read several other material on the web trying to get my head around design patterns and although that material was helpful, it didn't fully clarify to me the intent and usages of these patterns. However, when I read a sample chapter of this book online (on the Decorator Pattern), I instantly took a liking to it. The book has a very good way of explaining everything step by step and in a way that will make the topic more interesting to grasp.
I highly recommend this book to anyone who is new to the subject and wants to learn Design Patterns. This book (as even the authors mention) is not meant to be a reference book for professionals who already know about patterns. I think it's more suited to people who want to learn them from the ground up. I would give it 10 stars if I could.

Very good book on patterns but examples leave questions4
This is an excellent introductory book on patterns. They start out with the assumption that the reader does not really know what design patterns are or what they are good for. Developers who have been around awhile know about patterns, but overall I think their assumption is not a bad one: I think many of us have some ideas about patterns, and think we know some patterns, but don't really understand them. The book shines in its presentation of the patterns, even the ones we already "know," as extrapolations of basic OO design principles. The authors deserve very high marks for that.

They also have a lot of quirky, fun stuff in the book. It is, as another reviewer mentioned, almost insufferably cute. It's for the geek like me who wants to pretend we're not geeks, wink wink. Actually, I don't have any trouble with the humor, especially because sometimes it serves the valuable didactic purpose of helping one remember the points.

The negative points I have about the book are not primarily that the examples are simple; my main gripe is that the examples sometimes made things more confusing than they were before. For example, they spend an excellent first chapter discussing basic OO principles like "Favor Composition over Inheritance" and show how the Strategy pattern embodies them, and show a truly awful design in chapter 2 for Starbuzz Coffee (haha!) neglecting those principles, with a resulting explosion of classes. Very well.

But then, in chapter 4, they demonstrate the Factory pattern by eschewing composition in favor of inheritance, and creating an explosion of classes with all the varieties of pizza styles. Huh? Why are we suddenly dropping the principles that we've spent so much time on? Why not use composition with dependency injection as done in the "SimplePizzaFactory" example? Why not have a Pizza class that favors composition over inheritance? Now, there may in fact be good reasons, but they never discuss them. We're left wondering what's going on.

One more example: in discussing the Decorator pattern, they give what seems to me to be one of the worst uses of that pattern imaginable. "Condiments" are not "Beverages", and having a Beverage that chains to other Beverages seems very non-intuitive. Not at all a good example of "IS-A" relationships. Again, it's an illustration of the pattern, but a very jarring one that breaks reading continuity.

So, buy the book, read the book, "get" the patterns; but when you think some of the examples don't make sense, you're not alone.

Great book4
This is a great book, very explicit, great examples, clear language and I couldn't stop reading. Very good.