Your Memberships & Subscriptions
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 1st Edition, Kindle Edition
What’s so special about design patterns?
At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, you’ll be able to take advantage of 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.
Review
About the Author
Eric Freeman is 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.
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.
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.
--This text refers to an alternate kindle_edition edition.- ISBN-109781449328429
- ISBN-13978-0596007126
- Edition1st
- PublisherO'Reilly Media
- Publication dateOctober 25, 2004
- LanguageEnglish
- File size61293 KB
There is a newer version of this item:
$30.76
(1,039)
Available for download now
-
Next 1 for you in this series
$30.64 -
All 35 available for you in this series
$1,039.01
Customers who viewed this item also viewed
From the Publisher
What you’ll find in Head First Design Patterns, 2014:
|
|
|
|
|---|---|---|
|
The core design principles and design patterns—everything you need to take your programming skills to the next level. |
The same great visual explanations and brain-friendly learning style you’re used to from Head First, with exercises and challenges so the design patterns really sink in. |
Updated code! The code for all the examples and exercises now compiles and runs with Java 8. |
Product details
- ASIN : B00AA36RZY
- Publisher : O'Reilly Media; 1st edition (October 25, 2004)
- Publication date : October 25, 2004
- Language : English
- File size : 61293 KB
- Simultaneous device usage : Unlimited
- Text-to-Speech : Enabled
- Screen Reader : Supported
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Enabled
- Sticky notes : On Kindle Scribe
- Print length : 951 pages
- Customer Reviews:
About the authors

Elisabeth Robson is currently co-founder of Wickedly Smart (wickedlysmart.com) where she is creating new brain-friendly learning products.

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
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






