views:

1008

answers:

16

Has anyone read 'Head First Design Patterns' by O'Reilly? If so what do you think?

+2  A: 

Jeff Atwood has: http://www.codinghorror.com/blog/archives/000380.html

John Nolan
I have to say I disagree with Jeff on this one. I think this is an excellent book for somebody new to design patterns. It certainly helped me understand what patterns are all about.
Sandman
To be fair, Jeff commented in the post that he thought the book had merit. His main point was that design patterns are not the right solution in every case - something this book only stated 700 pages in.
Jeffrey
A: 

I will give my opinion of the book, based on its writing style (which I am assuming is why you are interested in the book)

I read the book after reading other Design Pattern books. It has an interesting way of introducing information and tries to constantly keep you focused. If you are new to any patterns introduced in the book, then it is a good read. However, if you have some knowledge of the patterns, then the book can seem very watered down. The way it presents information can IMO make the book seem like a long read.

Web
+1  A: 

I didn't like it. To me, it's style of writing was very distracting. I found it difficult to stay focused on the material of the main text with all the little blurbs and cartoons on the side.

Ferruccio
Why people that want terse prose and concise content buy Head First books is something I'll always wonder... The series is all about redundancy and different ways of presenting info so you have a better chance at memorizing.
Adriano Varoli Piazza
@Moranar - 40 pages of visual jibberish to explain a pattern is not a good way to aid memorization. People learning design patterns aren't kindergarten children, or that thick. The book is condescending at best.
Kev
As shown from many other comments, reviews, and personal opinion, calling it 'gibberish', 'condescending' and calling its readers 'thick' is merely your opinion.
Adriano Varoli Piazza
@Moranar: Please re-read my comment. I wasn't calling the readers thick, I said that "people learning design patterns aren't kindergarten children, or that thick", thus defending the intelligence of the potential reading audience.
Kev
@Kev: you're right about that. I misread. Still, my main point stands.
Adriano Varoli Piazza
+2  A: 

I quite liked it; in my opinion it's a good introduction to patterns.

As a Cocoa developer I could immediately see how some of the patterns were applied in the frameworks which gave me a lightbulb moment.

But I also have the GoF book and Larman's "Applying UML and Patterns" book.

Abizern
+2  A: 

A book I'd recommend is "Design Patterns Explained" by Shalloway and Trott. It does a great job of explaining the power behind design patterns and it's an all-round good read.

+5  A: 

I read this book as someone with no exposure to the world of design patterns beforehand, and I found it be very useful indeed. Personally I found that the style and tone to be engaging and informative. I can appreciate however, that its style may not appeal to all.

This link has a preview of the book that you can have a look at to see if the style would be too grating.

I know colleagues who have read it with a basic understanding of the subject matter, who found it be presented in a much more appealing way than alternative texts, and therefore gained more for it. I would possibly suggest that if you were already well versed in the area then you might not get as much from it, but for myself I thought it was an excellent resource.

chillysapien
+28  A: 

I think it's an excellent book for developers new to design patterns. It's style is somewhat different, but for the better in my opinion.

If you are a visual learner or someone who prefers to see concrete examples then get this book.

Macka
+1 At first I was hesitant because of the crazy layout and image overdose, but this actually helps tremendously in learning the patterns discussed. The code samples are all in Java, but pretty easy to follow for anyone.
Ruben Steins
I don't know Java, but I didn't have too much trouble thinking about it in Objective-C as I worked through the book. As long as you're familiar with an OO programming language, the book is almost language agnostic.
Abizern
+1 for pointing to visual learner and +1 for Ruben for pointing to the funny examples. It is really one of my favorites books
bastianneu
+1  A: 

As they say in their website: "If you're looking for a reference, this book is not for you. (Actually, this book is for anyone with a credit card -The management)"

Adriano Varoli Piazza
A: 

I have this book, it's awful.

It's probably the worst text on design patterns I've ever read and quite possibly one of the worst technical education books I've ever set eye's on.

They dumb things down with so much distracting nonsense and take forever to get to the point (40 pages of incomprehensible visual nonsense to explain the Observer pattern for example). Not only that, they use so many different gimmicks, type faces and 'humourous' visual aids I'd be surprised if anyone could learn anything from it. It's like they wanted this to be a 'Dummies Guide', but unfortunately they overshot the runway.

Personally I'd buy the GoF book and google for real world implementations. These guys might be worth looking at instead (provided you don't mind the the sample code being in C#): http://www.dofactory.com/Patterns/Patterns.aspx

Kev
Agreed - I took a look at the book a couple of days ago and put it down within a minute. Awful layout and next to no real info.
Peanut
The problem is the presentation and the assumption that the reader is some kind of retard. It's a mess.
Kev
well, I might be a retard, but I really enjoyed this book :P I read it from cover to cover. It explains everything with fun examples and is easy to understand. Not the typical textbook though, and is best suited for learning about design patterns than a reference.
Martin
@Martin - I didn't say people who bought the book are retards, hell I even have a copy, I just found it the worst piece of technical writing I've ever come across.
Kev
Wow 3 downvotes in one go on this old post? Any reasons why?
Kev
As a design-patterns beginner I found this book invaluable in helping me understand what these patterns were for. It isn't a great reference book - but it isn't intended to be.
Kramii
-1 for that...i know it is your opinion. But from my point of views this book is really great to get an basic idea what is going on. I read this book during my stay in Hospital an it was a great experinence to learn something without the need of coding.
bastianneu
I think this book is one of the best ones to learn Design Patterns. they start off with bad code and gradually introduce the design pattern. that shows you exactly what type of problems the design pattern solves and how to apply without using so much BIG words like other books.
Attilah
A: 

I bought this book and have nothing but praises for it. It gently leads you through real world examples to show you how you can improve your solutions by using various design patterns. It's style is very casual and humorous so you're actually having fun while you're reading it as opposed to some other books I had the misfortune to read. Yet despite it's casual tone, it's still very informative, and provides an in-depth look at some of the most used design patterns, like strategy, singleton, factory and so on. For somebody new to design patterns, this book is a must-have. However, if you already have some experience with design patterns, you won't get much out of this book. So: Buy this book if you're a newbie when it comes to deign patterns. Then, after reading it, definitely buy the GoF book.

Sandman
+6  A: 

This book is obviously a love it or hate it book.

I personally love it as a beginner book to design patterns. It gently walks you through examples of design patterns in a real language as if you were talking to your co-workers about the patterns. This is definitely not a dry read as there are plenty (sometimes too many, but that's ok) of ways of explaining the patterns in an easy to understand method.

Some people want to get to the nitty/gritty right away and this book is not for them. Others want a book that explains things in plain english, and this is perfect for them.

Chris Conway
A: 

I read most of this book and think in the end it is better served as a reference book that you come to with a problem rather than be a typical book read cover to cover. It does have some nice overviews of common design patterns and tries to present things in multiple ways that may be frustrating if after reading the overview you don't want to read about it in a handful of other ways. So, in the end, it is a book that is in my reference section where I work that I would turn to if I encounter a situation where I think that a general solution has been found.

JB King
+1  A: 

I didn't like it.

I often buy books with the intent of leaving them around for the junior developers to borrow. To put it bluntly, a developer who would find this book useful is someone I wouldn't want on my team. The Head First line has been a mixed bag. Some of the books have been ok, others total crap. This one, along with Head First Object-Oriented Analysis and Design are lacking.

Assuming a basic understanding of software development and a proficiency in a language with support for OOP; a newbie would be better off reading The Object-Oriented Thought Process by Matt Weisfeld then using Design Patterns Explained by Shalloway and Trott as reference as they look at code examples on the web in whatever language they happen to use.

sal
wow..."a developer who would find this book useful is someone I wouldn't want on my team"...hmm i think you forgot about your starting. As long as people start learning... everything is okay. People who started with that Book dont have to remain in that standing. Improving is important.
bastianneu
+2  A: 

I agree with Kev - I hated it. I don't really like technical books which try to be funny. If I wanted to be amused I wouldn't read a book on design patterns.

Ronnie
+1  A: 

I think it's a good book to get from the library (or otherwise procure at the non-retail price). The tone and style of humor are similar to the "For Dummies" books, but honestly, I found that to be a welcome counterpoint to the incredibly dry and academic tone found in the GoF book.

If you're a Java person, Design Patterns Java Workbook is the most helpful, I've found

yalestar
+1  A: 

I love this book. The whole point about it being funny is to stimulate your brain to wrap itself around the subjects in a different manner.

What I really like about it is the way it is built up, in that it first gives you a problem/scenario and then present a solution which at the time seems reasonable. But then the "customer" wants a change (as they always do), which suddenly reveals the flaw in the current design. And THEN they introduce the pattern which will solve the issue and make the design more flexible for change.

Too many technical books just goes ahead and explain things without a context or an example of WHY it is useful. Unless you have been in a situation in real life where it would have been useful, you really are not in a "teachable moment" where you fully understand why and how to apply the textbook knowledge. The Head First books set up these situations for you, so the knowledge really sticks.

erikric