Rating:  Summary: A Must Buy Review: This book is wonderful. Not only will it teach you all you need to know about Design Patterns, but it makes a great reference to keep around. I have read a lot a materials on Design Patterns and this book is by far the best!
Rating:  Summary: All programmers should read this book Review: Design Patterns This book is a classic computer science text. This is probably the one computer book that every computer programmer and software developer should read. It will definately have an immediate impact on the code you write. Unlike most computer books, which have a shelf measured in months, this book has lasted the test of time, and will likely be relavent for many years. (At least as long as object-oriented programming languages are used!) This book uses C++ and Smalltalk to code the examples, but don't worry about that. There are plenty of books that are basically "rewrites" of this book using Java or other langauges, but it doesn't matter what language your programming. I recommend this book over any other patterns book because these guys invented the subject. The patters can be programmed in any language, and you don't have to be a C++ or Smalltalk expert to understand them.
Rating:  Summary: The classic, and still the best Review: From all other people's reviews, you have already known this is the classic text on the subject of design patterns. This is indisputable so I don't need to waste time trying to prove it again. However, I would like to say something to those readers who are totally new to design patterns and C++/Smalltalk -- please do not be intimidated by the seemingly terse, dry and difficult style of this book. Since I myself am new to the world of design patterns, I would like to share with you my own experience and hope you can make a better decision when you pick your design patterns book. "Design Patterns" is the classic text; its style is academic-oriented, rigorous, and terse. Unlike most popular computer books, you will find reading this book takes a lot of thinking, for each paragraph or even each sentence. Most examples used in this book are adapted from real world systems popular many years ago, so you will likely find you're not familiar with them at all. Moreover, some examples are related to GUI programming, so if you're mainly programming for backend, you will probably feel it's tough to understand some of the examples. Most code example in the book is written in C++ (some in Smalltalk.) If you're a Java programmer and have limited knowledge in C++, it might take you some time to guess what certain C++ syntax means. These all seem to be negative comment, but my conclusion is to the contrary -- this is the BEST book in the area, and you should read it despite of all the issues I mentioned above. I started my design pattern learning by using a couple of other books, such as "Java Design Patterns: A Tutorial", "Design Patterns Explained: A New Perspective on Object-Oriented Design", and "Applied Java Patterns". I chose these books mainly because they seem to be much easier to understand than "Design Patterns". However, after spending time in these alternative books, I found none of them offers the accuracy and depth as "Design Patterns". Often, after I read a chapter of the "easy" book, I feel I am still kind of lost. I seem to have understood the pattern I just learned, but then I feel it's not quite so. I guess I only learned the pattern in a superficial way, with little depth, and without being part of "big picture." Later, I turned to the classic, "Design Patterns". I forced myself to sit down and try to understand the authors' terse and rigorous writing and their unfamiliar examples. Gradually I found I was getting used to the style and the examples, and I actually started to learn much more from this book than from others. After reading half-way through the book, I felt the rigorous style is actually a big plus for this book, because I can get more accurate and in-depth information. Therefore, I strongly suggest that you buy and read this book, even if you feel it's difficult to read. Your effort will pay off eventually. Use other books as reference only.
Rating:  Summary: What Else Can You Say? Review: I can't add anything to this that really hasn't already been stated. It's my opinion that you will get the most from this book when you get past the point of buying language specific books (Like How To Learn Yada Yada in 24 Minutes) and start focusing more on the study of algorithms, design methodologies, etc. That's not to say that you still can't get something from it under those conditions however. This is a book that you simply must have at some point in your software career. Period.
Rating:  Summary: A very comprehensive book on Design Patterns... Review: Contains many design patterns, and explains many of them through a very thorough example of building a word processor. The only problem with the book is that at first it's hard to understand for those who have no idea what design patterns are...
Rating:  Summary: A Classic Review: It's been a couple of years since I bought this book, but I never had to time to actually sit down and read it - until now. And what a masterpiece! Having worked in the software industry for more than 10 years, I recognized a lot of the patterns described in this book (though not always by name), but I also discovered a couple of new ones that I will probably find use for in the future. There is not much I can add to what has already been said about this book (just look at the sheer number of positive reviews at this site). It is very informative, yet easy to read. In my opinion, one of the most influential books you can find on software design and patterns.
Rating:  Summary: The original Review: This book is refered to from almost every pattern article or book I have seen and is well know for being the classic pattern book where all the others derive from. Written before the Internet boom most of the examples are related to GUI programming in C++ or SmallTalk, but it is still easy to think about how to use the patterns in the presentation/business/data layer of a modern application (there are also plenty of other books that covers that). The best part of the book in my opinion is the implementation section that exists for each pattern, where the authors discuss specific implementation issues in regards to the pattern just described. Often I caught myself thinking about these issues while reading the pattern and it was very satisfying to see that this was known issues and that they were discussed. The reason I do not give 5 stars is that the book can be a little bit dry reading from time to time.
Rating:  Summary: Still excellent after all this time. Review: If you want to progress from the quick and dirty hacker/programmer to full out designer/architect then this book is a must read. Even though the examples may not be in a language that you work in there is no question that this book presents solid coding practices and examples that can be translated easily into any OO language. I have not seen a technical book in a long time that has shown this level of longevity. Technology and software is a very dynamic field. Things change quickly and trends form. Some stay, some go. However, solid principles, patterns and designs have shown to last throughout. These principles last beyond the technology in which they were introduced. The patterns introduced in this book represent a structured way to organize the reocurring problems in OO software development. The patterns can help lead to code that is structured, reusable and organized.
Rating:  Summary: Great but difficult to read. Review: This is a book where very simple concepts are explained using the most difficult to read English you can imagine. You will need to re-read every sentence at least twice. Every time I get done reading about certain pattern and understand what the author is trying to explain I wonder why it was explained using such arcane sentences. Other than that it's a great book for anyone who is designing large apps and is looking for organization and design efficiency. I disagree with a reviewer who said that patterns are not applicable to web-based apps. I see a lot of uses that I am going to utilize in the coming projects.
Rating:  Summary: Object Orientation Can't do without it. Review: If you consider yourself an OO designer/programmer, this is the book to have. Of course, because this original is a bit older now, you need other sources to get the full picture of patterns that are now known.
|