Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML, 2nd Edition, Volume 1

Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML, 2nd Edition, Volume 1
Authors
Mark Grand
ISBN
0471227293
Published
17 Sep 2002
Purchase online
amazon.com

Software design patterns let developers reuse tried-and-true designs in new projects. For the state of the art in object design, consider Patterns in Java, perhaps the best book that Java developers have at their disposal for getting leading-edge pattern expertise in a convenient and well-organized volume. The guide opens with background on pattern research, including the groundbreaking Design Patterns.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

Dan Finney said
Bought this book for my nephew. His comment was "there are a lot of good parts, but you have to search for them."

Vyacheslav Lanovets said
I haven't seen the first edition of this book.

The examples are rather good and the diagrams are in UML. Compare it to diagrams in [GOF95] which are written in some wierd ancient notation.
Although the exampled are in Java this book is good for C++ devs. This books is the fastest way to understand design patterns.

golden_ said
This book covers roughly the same territory as the GOF (Gamma, Helm, Johnson, Vlissides) book, only with simpler examples, in Java.

I found it easier to read than GOF; it gave me with a better overall understanding of the topic in general, and of specific design patterns. Grand's book may be slightly less valuable as a reference, however, when you need to actually use one of the patterns.

wiredweird said
The help this offers is for students who haven't learned a lot of languages yet. For them, the effort of picking Java sense out of C++ or Smalltalk may defeat the rest of the pattern discussion. For them, Java code samples and references to familiar Java library elements can make all the difference.

For the rest of us, this book has decidedly mixed value. The real problem is that Grand seems to equate the terms "desgin pattern" and "good idea". Design patterns are good ideas, at least in the right context, but not all good ideas are design patterns.

For example, delegation of responsibility is a good idea. It's the basis of any system decomposition. I have trouble justifying that as a design pattern - you may as well say that passing function parameters is a design pattern. It's just too broad. At the other end of the spectrum, Grand points to "marker" interfaces, Java interfaces with identities but not content, as a design pattern. Again, this is a useful but language-dependent hack. Ada or C# would have done the same things with attributes, and C++ could have done the same using marker fields or values in the class. Language tricks aren't patterns.

Still, many of Grand's patterns are good ideas. The "Object Pool", for example, is a common and useful pattern. It's closely related to two GoF patterns. It's like a Singleton, except there's more than one of them. It's like a Flyweight, except the units aren't distinguishable or shareable.

One real annoyance is the tendency of this Volume I to refer to necessary information in Volume II. If the author is going to create independently saleable units of book, they should be independently readable. I do not appreciate the implicit plug for the author's other work.

I use this book, but mostly for its bad examples. Think hard about whether this is the way to spend your budget for DP books.

Anonymous said
About every month or so I get spammed by this author touting his great seminars so I thought I'd give his book a shot. I guess you could say that he finally wore me down. Luckily I actually purchased the book used for $2 and still think I was royally ripped off.

The book begins poorly and gets worse. Specifically, the author definitely has a pension for patronizing his audience. He speaks as though he invented Patterns and is delivering them to the masses after bringing them down from the mountains inscribed on clay tablets.

Now, I'm not a guy to worry too much about a few typos here and there. After all, mistakes are made in code and text alike. However, the author's examples are not at all practical to the point of being useless and far too many of them flat out don't work!!

I'm not so much upset about the measly two bucks as I am about the several hours lost trying to decipher what the author meant and working through the typos. Anyway, hopefully this review will save someone else the time I lost.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“The difference between theory and practice is smaller in theory than in practice.”