This title fills a valuable niche by reprising the well-known guide to patterns, Addison-Wesley's Design Patterns: Elements of Reusable Software Design. While that earlier book relied on C++ and Smalltalk for its examples, this new volume uses Java code for the discussion of the same 23 design techniques. Many of the explanations draw on the author's custom classes for a hypothetical fireworks company, supplemented by material using "core" classes in standard Java. This text shows how to both recognize patterns in existing code and to incorporate them into new designs.
Early sections look at interfaces, including a standout section on trees and the Composite pattern. For the chapter on responsibility patterns, veteran Java programmers will appreciate the use of JDBC used to explain the Bridge pattern and tips for spotting other patterns in everyday Java. Builder patterns come next, with a full tour of ways to construct objects more flexibly. When it comes to operations patterns, a notable section on the Interpreter pattern presents some challenging material on language parsers.
Final chapters on extension patterns show how Java classes can extend one another using inheritance and other design principles. The discussion here of Java stream classes as examples of decorator patterns can help explain these rich (and sometimes confusing) sets of objects. Another useful section on Iterators shows how to create "type-safe" collections (normally not available in Java). Throughout this text, the author challenges the reader with dozens of easy-to-difficult questions (including actual design exercises). Complete answers are provided at the end of the book.
As a hands-on workbook that will invite you to think about patterns in Java in new ways, this text is an invaluable companion to earlier titles on patterns. Its mix of design smarts and clever examples help make it ideal for the more advanced programmer. Less experienced readers can also benefit from its intelligent presentation of some of the best available thinking in software design today, now tailored to a Java audience. --Richard Dragan
Praise for Design Patterns Java™ Workbook
“An excellent book... I’m incredibly impressed with how readable it is. I understood every single chapter, and I think any reader with any Java familiarity would. This book is going to be required reading in a lot of places, including my office.”
—Joshua Engel“Provides a new, more Java-literate way to understand the 23 GoF patterns.”
—Bob Hanmer“This book translates Design Patterns into what Java programmers need to know. It is full of short, engaging programming and design problems with solutions—making it easy for programmers to work through solutions and really make patterns ‘stick.’”
—Rebecca Wirfs-Brock“This is one exciting book. It’s approachable, readable, interesting, instructive, and just plain valuable. It’ll eclipse all other books purporting to teach people the GoF patterns in Java—and perhaps any other language.”
—John VlissidesJava programmers, you now have the resource you need to harness the considerable power of design patterns. This unique book presents examples, exercises, and challenges that will help you apply design pattern theory to real-world problems. Steve Metsker's learn-by-doing approach helps you enhance your practical skills and build the confidence you need to use design patterns effectively in mission-critical applications.
Design Patterns Java™ Workbook features the twenty-three foundational design patterns introduced in the classic book Design Patterns (Addison-Wesley, 1995). In this new, hands-on workbook, the patterns are organized into five major categories: interfaces, responsibility, construction, operations, and extensions. Each category begins with a chapter that reviews and challenges your ability to apply facilities built into Java. These introductory sections are followed by chapters that explain a particular pattern in detail, demonstrate the pattern in use with UML diagrams and Java code, and provide programming problems for you to solve.
With this book you will build expertise in important areas such as:
Solutions to the design pattern challenges appear in the back of the book, so you can compare your own work to expert approaches. A brief guide to UML explains the modeling notation, and an accompanying Web site provides all the code examples from the book.
Through the instruction and exercises offered in Design Patterns Java™ Workbook, you can fully understand the role of design patterns in Java application development, and enhance your ability to put design patterns to work.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
24 of 25 people found the following review helpful:
5.0 out of 5 stars
Excellent Workbook, Not a Reference,
By
This review is from: Design Patterns Java™ Workbook (Paperback)
This book is not for the faint of heart or beginner. This book assumes some background in patterns or, at the very least, the reader has some other reference texts at hand. I would recommend owning and/or pre-reading the definitive 'gang of four' treatise on this subject "Design Patterns, Elements of Reusable Object-Oriented Software". Other helpful texts include "Applied Java Patterns" and "Design Patterns Explained: A New Perspective on Object-Oriented Design".You will need to make a reasonable commitment to this book. If you are a pattern neophyte, this book will only assist in your understanding of patterns, as mentioned above; you must have other resources available to you. This text does not stand on its own unless you are already very familiar with the subject. The book is relentless with its challenges to the reader. If you follow the author's style you will give your brain quite a workout. You may want to consider working through the book with another developer or two. The insight gained from having more than just your own understanding of the concepts would go a long way towards developing a firm handle on the patterns outlined. The case study used in the book is definitely unique and makes for very engaging reading. The code examples are clear and concise (don't cheat yourself by looking at the solutions in the back until you have completed the assignment). I particularly think that the use of UML throughout the text was very well executed. This book is long overdue and a 'must-have' for anyone serious about developing a clear understanding of software design patterns.
15 of 15 people found the following review helpful:
4.0 out of 5 stars
Good companion for GoF book,
By "dustinsand" (Sacramento, CA United States) - See all my reviews
This review is from: Design Patterns Java™ Workbook (Paperback)
I have read the GoF book and found this book a valuable addition to it in several aspects. First, I am a Java developer so having the examples in Java and UML for the classes helped me quickly comprehend the patterns. Second, are you like me? You read technical books all the time, but two weeks after reading something you have a hard time remembering it because you didn't apply it? This book tries to help in this respect. I found the numerous challenges for each pattern an excellent exercise in testing my comprehension and for motivating myself to think more deeply about how to apply the pattern. Finally, this book is not a simple rehash of the GoF book and provides a new and interesting way to think about the same GoF patterns. I would recommend this book for Java developers pursuing Pattern enlightenment.
15 of 15 people found the following review helpful:
5.0 out of 5 stars
Best practices come forward.,
By Randall W Fields (Salt Lake City, Ut United States) - See all my reviews
This review is from: Design Patterns Java™ Workbook (Paperback)
This book is a much needed update to the classic "Design Patterns, Elements of Reusable Object-Oriented Software" (GOF.) There is no longer a need to translate Smalltalk or C++ into Java. The categories that each pattern belongs to (Construction, Extension, etc. ) diverges from the GOF teachings. Although this is unexpected, it does provoke additional critical thought.The implementation of some patterns is subtly changed by the Java interface. There is a chapter dedicated to interfaces, and the UML descriptions that accompany each pattern have been updated to account for them. Special attention is paid to the details of Java throughout. "Design Patterns Java Workbook" also does an excellent job with UML. It demonstrates that an idea can be easily shared without overdoing the documentation. The use of Flyweight in a language that relieves its users of the details of memory management proves for an interesting read. The use of Mediator to maintain relational integrity is down right insightful. The authors style is unassuming, and the fireworks discussions (his examples) are entertaining. The challenges spread throughout this book keep the reader engaged, and thinking deep thoughts. It could easily be used in a classroom setting, or for personal skills building.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|