kmariek's review

Go to review page

I got the most value out of this when I decided the way it made the most sense for me to read it was by starting and finishing a section in one sitting so I could compare strategies at the end. The book text does do that in detail, but I still wanted to do it on my own to really get it. I often skipped the code examples for the patterns that seemed straightforward since I felt like they'd be more useful if I were in the process of implementing them. So many of the patterns in the book are fundamental to the codebase I'm working on that it was cool to think about how they currently affect the other parts of it, and how an alternative pattern, or the lack of one, might change things. I still don't think I'll build it into my software engineering process to think about design patterns first, but if I'm stuck on a difficult problem I feel like having a familiarity with these and the ability to look back at a set of "when to use it"s gives me options.

danielwestheide's review against another edition

Go to review page

2.0

I re-read this because back then, I only skimmed it, and I thought some of the content might still be relevant today. Unfortunately, this book has not aged very well. Most of the patterns are hardly useful at all in 2014, or even anti-patterns by now.

kwugirl's review against another edition

Go to review page

3.0

Fowler is a good author to read for these sorts of "classic" C.S. tomes. This isn't quite what I was expecting in that I thought it would be a lot more prescriptive about what you should do for enterprise apps, but that isn't his style, and also that would've made the book further dated (there were a fair number of patterns that generally we figured they're taken care of for you by modern frameworks). So it was interesting to learn these terminologies and descriptions and such and see how the frameworks we use might implement them, but less directly relevant to working on a current enterprise app than I had originally thought, compared to [b:Refactoring: Improving the Design of Existing Code|44936|Refactoring Improving the Design of Existing Code|Martin Fowler|https://d.gr-assets.com/books/1386925632s/44936.jpg|44258].

madeyedog's review against another edition

Go to review page

4.0

Excellent information on when to consider patterns and the trade offs of each. Too abstract in parts, where common techniques are given overly simplistic names and descriptions, but generally good

fingolfintek's review against another edition

Go to review page

5.0

Although many of the described patterns are either deprecated or already implemented in most popular enterprise frameworks, it was still very thought-provoking and educational to read about the motivations for their use and ways to implement them - after all, every worthwhile computer science curriculum teaches us how to implement linked lists and a whole other range of data structures that already come out of the box with most languages. Similarly, after reading it cover to cover I tend to consider this book Enterprise Programming 101 :)

stevex's review against another edition

Go to review page

4.0

Very clear and readable patterns book. Well organised, with the introductory chapters setting the scene, and a really useful crib card at the end providing pointers into the text.

You would probably want to read this one after the "Gang of Four" book, as this one frequently makes reference out into that one.

As is common with pattern reference books, the introduction does refer in many places to patterns which haven't yet been described - this seems to be a bit of hazard of the genre.
More...