Features
- Cover Type: Paperback with 544 pages
- Published by: Wiley; 21 edition September 17, 2002
- Written in: English
- ISBN 10 Number: 0471227293
- ISBN 13 Number: 978-0471227298
-
Book Dimensions:
9 x 7.3 x 1.3 inches
- Weighs: 2 pounds
Product Review
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. This new title goes further, with 41
software patterns, all illustrated with UML diagrams and sample Java code. Early patterns, such as Delegation and Proxy, show how classes can work together without relying on inheritance. Next come creational patterns, such as the Factory and Builder patterns and the newer Object Pool pattern (which can be used to pool database connections for faster performance).
Subsequent sections move on to partitioning patterns, such as the Layered Initialization, as well as structural patterns, such as the Adapter, Facade, and Flyweight patterns. A section on behavioral patterns mixes older patterns such as the Chain of Responsibility and the Strategy with newer designs such as the Little Language and Snapshot patterns. The book closes with seven newer patterns for designing distributed and multitasked systems.
--Richard Dragan
--This text refers to the
Paperback
edition.
Book Description
"This is the best book on patterns since the Gang of Four's Design Patterns. The book manages to be a resource for three of the most important trends in professional programming: Patterns, Java, and UML."
—Larry O'Brien, Founding Editor,
Software Development Magazine Since the release of Design Patterns in 1994, patterns have become one of the most important new technologies contributing to
software design and development. In this volume Mark Grand presents 41 design patterns that help you create more elegant and reusable designs. He revisits the 23 "Gang of Four" design patterns from the perspective of a Java programmer and introduces many new patterns specifically for Java. Each pattern comes with the complete Java source code and is diagrammed using UML.
Patterns in Java, Volume 1 gives you:
- 11 Behavioral Patterns, 9 Structural Patterns, 7 Concurrency Patterns, 6 Creational Patterns, 5 Fundamental Design Patterns, and 3 Partitioning Patterns
- Real-world case studies that illustrate when and how to use the patterns
- Introduction to UML with examples that demonstrate how to express patterns using UML
The CD-ROM contains:
- Java source code for the 41 design patterns
- Trial versions of Together/J Whiteboard Edition from Object International (www.togetherj.com); Rational Rose 98 from Rational software (www.rational.com); System Architect from Popkin software (www.popkin.com); and OptimizeIt from Intuitive Systems, Inc.
Reader Reviews
This review is from: Patterns in Java, Volume 1, A Catalog of Reusable Design Patterns Illustrated with UML (Paperback)
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.
Comment | |
(Report this)