Rating:  Summary: A must read for any serious software developer Review: a must for any serious developer. I picked up this book because of a recommendation from an instructor. Not only did I find the knowledge in this book essential to good, sound software development, but in a matter of hours I was using a pattern in one of my pet projects. After reading this book you can immediately go back to your past projects and make drastic improvements.
Rating:  Summary: Confirmed and expanded my first OO Design Review: I have been a computer professional for just 3 years, working with relational databases, procedural programming and 4GLs, and web development. During that time I have read up on Object oriented programming and UML. Of all languages to choose for my first foray into OO, would you believe Javascript?! I want to convert my procedural routine for validating HTML form data to an object oriented paradigm. Before starting to read this book, my very rough design was that a single instance of a FormValidator would loop through the various kinds of form elements that can take input, such as text fields, selection menus, radio buttons and checkboxes, then create a FieldValidator object for each. The FieldValidator would in turn return a "TypeValidator" specific for the type of form element: TextValidator, MenuValidator, etcetera. Thus I unwittingly incorporated a few of the designs covered in the book. For instance, the "Singleton", for a single instance of the FormValidator. And the "Builder" for creating the TypeValidators specific to each type of form element. And, following the books suggestion, I will probably use this Builder pattern to build a "Composite", so that I can mix and match the methods for the various TypeValidators. So, I disagree that this book does not get read. I'm getting my money's worth! And I disagree that you have to have designed one project before, though that could certainly help. And I would say that if this book is over your head on the first try, if you are serious about OO, you will probably be able to come back to it in 6 months or a year or two, and it will make perfect sense.
Rating:  Summary: The re-discovery of engineering in software engineering. Review: Finally when confronted with real world problems, engineers re-discover the good all tricks: decision tables, indirection, message passing, publish and subscribe, message switching, parsing, linked lists, exploding objects into their components at implementation time to better handle versioning ... Too bad the terminology has to be so esoteric, but hey, isn't this a new world? Really? It was funny to see Christofer Alexander wondering what he was doing talking to a bunch of software engineers several yeras ago. "Closet architects" he called them. No wonder, this business of patterns is only slowly emerging out of its programmers craddle to look into the real enterprise problems. As a final note, looking at architecture for guidance from the elders may not be the wisest thing. Software is a dynamic environment, not architecture. I would rather look at mechanical engineering, electrical engineering or even try to understand how switching systems software is organized (rather than Smalltalk classes) to see what real software virtuosos have done in the past. The telephone network works. They must have done something right ...
Rating:  Summary: A very good book on design Review: I disagree with some of the negative reviews here. This is a very good book on software design using OO method. But being able to read this book requires some experience. Not the kind of experience in writing 500-line programs or small routines. You have to actually designed at least one project of significant size to understand what the authors are talking about, and then you will enjoy the elegance of the solutions.
Rating:  Summary: The one and only Review: If I need to sum up my review on this book, it would be : "if you have to buy one book, buy this one". It's that simple. This book is simply a must-read for anyone dealing with programming in the OO world. Because OO is not about using the word 'class' or understanding polymorphism. It's about making your code clearer while improving its scalability and reusability. This book tells you how to do it right. Now, i've seen a few reviews about this book being "hard to read" and that "no one actually read it". Well, I've read it cover to cover, and it was fun. You know why? Because while you're reading it, you keep having those "Haaaa" moments. Besides improving my own design and code considerably, this book provides an easy way of communication. A lot of information can be delivered in a sentence like "this code uses pattern XXX". If this book is hard for you, frankly, get "VB For Dummies", both don't trash this master-piece. And for those of you who want to be programmers, sit through and read it. It's worth every minute.
Rating:  Summary: It has no competitor doesn't mean it is great Review: If there is one single book that covers a wonderful topic and is absolutely unreadable, this is the one. I saw so many favourable reviews of this book that I almost started thinking that there was something wrong with me. Then I met some guys, who like me, attempted to read the book umpteen number of times and then gave up. This is one of those 'classics'. You know what a classic is: books that everybody praises but nobody reads. Trust me, most of the people singing praises of this book here never read more than 5 pages. They were not able to. Still this book continues to sell. Why ? Because there is no alternative. It adorns millions of bookshelves, remaining one of the most rarely read software books.
Rating:  Summary: Extraordinary book about the "Art of OO Design" Review: Finally a book in OO that can compare with the legendary D. Knuth books "The Art of Programming Vol. 1-3". It is time that Software Designer understand that more Engineering methods can be applied in their field than they ever thought. This book is a good example for that.
Rating:  Summary: The place to start for learning design patterns Review: I felt the book was as clear and concise as possible. It did a great job in quickly introducing me to patterns and is an essential reference in my collection. The best part about this book is it's organization and use of Case Studies. I am not a C++ or a SmallTalk programmer so Java examples would be nice, but this was released around 1995 so I can't possibly be critical of there choices. I recommend anyone involved with software design read this.
Rating:  Summary: Too bad I can not give 10 stars Review: This is absolutely one of the best books on OO design. I am a System Archtect and I can't image how my design (and Java) would look like without applying the concepts and patterns described in this book. This book, IMHO, plays a much more important role and should enjoy a much higher reputation than the UML series written by the 3 Amigos. This book is definitely not for those who still do not understand the virtue of the concepts presented in the book. This book is not for programmer level either(although they can still greatly benefit from the book to enter the next level). The examples in the book are in C++ but the patterns it describes is language independent. Those who really know Java(not just reading sth like Teach Yourself Java in XX days,weekends,in a nutshells, etc) should tell immediately that lots of patterns are already applied in Java, especially in J2EE. Knowing the patterns in the books not only make your design step up to the next level, but now also a MUST if you want to pass the perfessional certificate exam like SCEA. I have to say no one can claim they know OO design without knowing the concepts and patterns described in this book. This is one of those few books in computer world that will receive more and more recognization as time gose by. In three years no one will even mention 90% of those books currently getting five stars, but this one, I have to say, will be in top in foreseeable future and much longer. I totally agree that this book is a little bit hard to read. Please think it this way, anything you can learn in 10 minutes is useless and of little market value because anybody can do the same. Those who grasp the essence missed by the majority are distinguished and of high value....
Rating:  Summary: Are you a Java Developer Review: If you don't know C or C++, you want want to consider a differnt book. I only know Java and so the examples in the book were of little use. The desciptions of the patterns were helpful but those are widely available and you really need code examples to understand some of the patterns fully.
|