Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$72.00$72.00
FREE delivery:
Friday, Feb 16
Ships from: Amazon Sold by: WorldPrime
Buy used: $25.99
Other Sellers on Amazon
+ $3.99 shipping
89% positive over last 12 months
& FREE Shipping
86% positive over last 12 months
89% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Head First Design Patterns: A Brain-friendly Guide First Edition
There is a newer edition of this item:
Purchase options and add-ons
- ISBN-100596007124
- ISBN-13978-0596007126
- EditionFirst Edition
- PublisherO'Reilly Media
- Publication dateOctober 1, 2004
- LanguageEnglish
- Dimensions8 x 1.4 x 9.25 inches
- Print length692 pages
Frequently bought together

Similar items that may ship from close to you
Product details
- Publisher : O'Reilly Media; First Edition (October 1, 2004)
- Language : English
- Paperback : 692 pages
- ISBN-10 : 0596007124
- ISBN-13 : 978-0596007126
- Item Weight : 2.29 pounds
- Dimensions : 8 x 1.4 x 9.25 inches
- Best Sellers Rank: #339,723 in Books (See Top 100 in Books)
- #124 in Computer Systems Analysis & Design (Books)
- #141 in Object-Oriented Design
- #409 in Software Development (Books)
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
About the authors

Eric is described by Head First series co-creator Kathy Sierra as “one of those rare individuals fluent in the language, practice, and culture of multiple domains from hipster hacker, corporate VP, engineer, think tank.” Professionally, Eric recently ended nearly a decade as a media company executive—having held the position of CTO of Disney Online at The Walt Disney Company. Eric is now devoting his time to WickedlySmart, a startup he co-created with Elisabeth Robson.
By training, Eric is a computer scientist, having studied with industry luminary David Gelernter during his Ph.D. work at Yale University. His dissertation is credited as the seminal work in alternatives to the desktop metaphor, and also as the first implementation of activity streams, a concept he and Dr. Gelernter developed.
In his spare time, Eric is deeply involved with music; you’ll find Eric’s latest project, a collaboration with ambient music pioneer Steve Roach, available on the iPhone app store under the name Immersion Station.
Eric lives with his wife and young daughter on Bainbridge Island. His daughter is a frequent vistor to Eric’s studio, where she loves to turn the knobs of his synths and audio effects. Eric’s also passionate about kids education and nutrition, and looking for ways to improve them.

Discover more of the author’s books, see similar authors, read author blogs and more

Elisabeth Robson is currently co-founder of Wickedly Smart (wickedlysmart.com) where she is creating new brain-friendly learning products.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviews with images
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
To begin with, before reading this book, you have to know about Java programming language along with the object-oriented features such as encapsulation, inheritance, and polymorphism. Bear in mind that by having solid object-oriented knowledge does not make you a good object-oriented designer. I thought the opposite until I read this book. For those who do not know the language and/or the object oriented feature, they should study them first before attempting to read this book.
When reading this book, please note that the primary intention of this book is to teach you about design patterns. Therefore, if you find the examples are not what you expected (too simple, childish, imaginary, and so on), you need to know that the examples are made as simple as possible so you can concentrate on learning design patterns. Unfortunately, some people just do not understand this approach. They probably want examples that have hundreds line of code to explain each patterns and I am very sure if this was the case, they would give bad review anyway by arguing that the examples are too complex.
The only negative thing is the fact that not all 23 patterns are covered. I wish all of them were covered in a single book and even if the price were twice as much I would certainly buy it. I do not know why the authors did so. They covered only around 13 and cramp the others in 20 pages in the appendix.
In my personal experience, after reading this book, it changed my paradigm toward object-oriented design and made me ask myself, "Why I didn't buy this book earlier?" Had I bought it earlier, my campus projects would have gone easier. In addition, ever since I read this book, I often think about the pattern(s) that can be applied in the other programming books' code example, especially when the examples have too many if and if else statements as they could be refactored using state pattern or command pattern. The reason some programming books do not bother with design patterns (even though the authors probably know about it) is because not their focus in their books. That is why this book is useful. Also, please be aware that in this book source code, the instance variables are not declared private. In reality you have to make it private according to the principle of the least privilege.
Finally, I highly recommend this book to anyone who already knows Java and its object-oriented features as it helps you to learn commonly used patterns and to design better using best design principles (open closed principle, encapsulate what varies, etc).
This book collects all of these patterns in one place, including some that I haven't used, and then explores and explains them from a variety of perspectives.
The book is a collaboration between technical experts and experts in learning theory. The result is that motivation for learning the material is thoroughly integrated into the formal content. Rather than just describing the "what" of a pattern, the book starts by dialoguing with the reader about the "why," so that by the time it gets into the "how" in more depth the reader is interested enough to explore all of the nuances of the various approaches to applying the technique. It attempts to anticipate objections the reader might raise regarding the importance of a given pattern, while at the same time throwing light upon the pattern by showing how it addresses real needs.
The presentation and examples are superior to most other books that I've read. There's a fair amount of repetition, but from different perspectives, so that at least one of the facets presented should resonate with the needs and experiences of the reader. In its presentation of the decorator pattern, for instance, the first example was a concocted coffee cost computation program that left me feeling that a critical aspect of that pattern, the building of more specialized functionality by wrapping more basic and fungible functionality, had not been adequately explored. But they followed up immediately with a real-world example from the java.io package that not only explored that aspect of Decorator, but also referenced code that I had already personally encountered and understood.
Another praiseworthy aspect of this book is the way in which it integrates general design principles like programming to an interface (rather than to an implementation) with more specific patterns like the Strategy pattern. This gives the reader a lower level base to fall back upon if a specific pattern cannot be found, or if an existing pattern needs to be specialized for a particular purpose.
This book arrived while I was designing a new application, and upon scanning through the various patterns for additional places within my application where patterns could be applied, I found a couple right away.
All in all, this book represents a raising of the bar for content, presentation and pedagogy in a technical manual.
Top reviews from other countries
As a programmer this book is must have. Cover major DESIGN PATTERNS in very creative manner ani content is engaging aa its not written in conventional ways.
Paper quality is somewhat good, main issue is with the font, it is very small, they could have used the margin space for increase the font size. As they left luch of margin than needed that's the only issue.
Questo libro invece scherza, ironizza, ti parla, ti chiede pareri ma senza mai inerrogarti... insomma ti insegna le cose senza farti ccorgere che lo sta facendo!
Davvero positiva l'esperienza di questo libro, che ha lasciato in me un mondo di sensazioni e di sapere, a costo mentale davvero minimo.
Il libro parte da concetti molto basilari di programmazione e progettazione software, li combina tra loro e offre un continum narrativo che porta il lettore a comprendere realmene i concetti che sono alla base dei pattern stessi, fornendo gli strumenti necessari a capire dove sia meglio fare ricorso ad essi all'interno di un progetto. Al termine della lettura non si sapranno di certo a memoria tutti i pattern, ma sicuramente sarà rimasto impresso nel lettore quale strategia utilizzare di volta in volta per raggiungere lo scopo di adattare il software al cambiamento.
Davvero consigliato












