Features
- Cover Type: Paperback with 472 pages
- Published by: Wiley
- Edition: 2nd Edition June 2, 2005
- Written in: English
- ISBN 10 Number: 0471744875
- ISBN 13 Number: 978-0471744870
-
Book Dimensions:
9.1 x 7.5 x 0.9 inches
- Weighs: 1.5 pounds
Product Description
An object-oriented design text that's student oriented too!
Now updated to reflect the innovations of Java 5.0, Cay Horstmann's Object-Oriented Design & Patterns, 2nd Edition continues to offer a student-oriented guide to object-oriented design.
Drawing from his extensive experience as a programmer and teacher, Horstmann helps you appreciate the value of object-oriented design principles, and gives you a context for applying these principles and techniques in your own designs. Throughout the text, outstanding pedagogy, carefully developed exercises and examples, and a strong emphasis on problem solving make object-oriented design principles accessible to readers with limited programming experience.
Cay Horstmann's Object-Oriented Design & Patterns, 2nd Edition:
* Integrates the use of Java 5.0 constructs throughout, including generics and the java.util.concurrent library.
* Presents high-interest examples, including ones from the Java 5.0 library and user-interface programming.
* Uses concepts such as interfaces, inner classes, reflection, and multithreading to introduce advanced Java language concepts.
* Encourages you to master topics in object-oriented design, user-interface programming, and practical
software development techniques.
* Illustrates design patterns and their application using the Swing user interface toolkit and the Java collections library.
* Introduces programming tools such as BlueJ, javadoc, and JUnit.
* Provides a crash course in Java for readers who know C++.
Other Wiley books by Cay Horstmann
Big Java, Second Edition, 0-471-70615-9
Java Concepts, Fourth Edition, 0-471-69704-4
Big C++ (with Timothy Budd), 0-471-47063-5
Computing Concepts with C++ Essentials, Third Edition, 0-471-16437-2
Back Cover Copy
An object-oriented design text that’s student oriented too! Now updated to reflect the innovations of Java 5.0, Cay Horstmann’s
Object-Oriented Design & Patterns, 2nd Edition continues to offer a student-oriented guide to object-oriented design.
Drawing from his extensive experience as a programmer and teacher, Horstmann helps you appreciate the value of object-oriented design principles, and gives you a context for applying these principles and techniques in your own designs. Throughout the text, outstanding pedagogy, carefully developed exercises and examples, and a strong emphasis on problem solving make object-oriented design principles accessible to readers with limited programming experience.
Cay Horstmann’s Object-Oriented Design & Patterns, 2nd Edition: - Integrates the use of Java 5.0 constructs throughout, including generics and the java.util.concurrent library.
- Presents high-interest examples, including ones from the Java 5.0 library and user-interface programming.
- Uses concepts such as interfaces, inner classes, reflection, and multithreading to introduce advanced Java language concepts.
- Encourages you to master topics in object-oriented design, user-interface programming, and practical software development techniques.
- Illustrates design patterns and their application using the Swing user interface toolkit and the Java collections library.
- Introduces programming tools such as BlueJ, javadoc, and JUnit.
- Provides a crash course in Java for readers who know C++.
Other Wiley books by Cay Horstmann Big Java, Second Edition, 0-471-70615-9
Java Concepts, Fourth Edition, 0-471-69704-4
Big C++ (with Timothy Budd), 0-471-47063-5
Computing Concepts with C++ Essentials, Third Edition, 0-471-16437-2
Reader Reviews
This review is from: Object-Oriented Design & Patterns (Paperback)
I came away from this book wondering just who was meant to read it. It starts with "A Crash Course in Java." (Somehow, I never learned to like any "crash" in the context of program design.) This is much too brief to teach the language, or even summarize it well. Any of many other books would be better for teaching Java to C++ programmers. Next, the book goes through two chapters of object oriented design. These chapters are over in about 100 pages - again, not nearly enough time to address OO design in with any real insight. The OO paradigm is truly different from previous generations of software design, and can not be summed up in a few pages of rote rules. Worse, the author identifies "javadoc" as a design documentation tool! It is not. Javadoc does a very good job of documenting implementation, but it documents design very badly. If you're not a programmer, trust me - implementation and design are as different as carpentry and architecture. Neither is better than the other, and both are needed to build a house. Implementation is not design, though, and the two require very different documentation. The rest of of the book continues in an odd pastiche including: -- ideas the programmer already needed to understand the earlier material, -- afterthoughts on the Java language, scattered among other topics, -- a weak discussion of design patterns, and -- a severely flawed discussion of multithreading. Only this last deserves attention. Multithreading is a subtle topic. It's easy to write multithreaded code, but very hard to write it correctly. The author actually does a good job of discussing interruption in threads. However, the book's description of synchronization and deadlock is so brief that it leaves me worried - student programmers might read that material and come away thinking they understood the topics. Insufficient knowledge may be worse than none at all, in this case. Most distressing, the author makes no apparent mention of "volatile" data in Java. Multithreaded applications don't need to use volatile data. The programmer MUST understand when volatility is a problem, though, and avoid it or address it directly. It is unacceptable to ignore the risks addressed by "volatile" declarations. I can not recommend this book. It claims to address object oriented design, Java, and design patterns. I feel that it does an inadequate job on all counts.