Skip to main content

Object-Oriented Design and Patterns, 2nd Edition

Object-Oriented Design and Patterns, 2nd Edition

Cay S. Horstmann

ISBN: 978-0-471-74487-0

Jun 2005

476 pages

Select type: Paperback


Product not available for purchase


Object-Oriented Design and Patterns, 2/e, makes it easy to add object-oriented design early in the CS curriculum. Suitable for students who have had one or two semesters of programming (Java or C++), the book can be used in a second or third course (before or after data structures), or as a companion text in a later course in software design or software engineering. Cay Horstmann brings his hallmark approach to the book-sound pedagogy, carefully developed exercises and examples, and emphasis on problem solving-and brings design principles and patterns to life with examples from the Java 5.0 library and user-interface programming. Students will expand their understanding of the Java language as they learn to recognize and use object-oriented design principles.

Related Resources


Chapter 1. A Crash Course in Java.

Chapter 2. the Object-Oriented Design Process.

Chapter 3. Guidelines for Class Design.

Chapter 4. Interface Types and Polymorphism.

Chapter 5. Patterns and GUI Programming.

Chapter 6. Inheritance and Abstract Classes.

Chapter 7. The Java Object Model.

Chapter 8. Frameworks.

Chapter 9. Multithreading.

Chapter 10. More Design Patterns.



Photo Credits.

· Fully updated for Java 5.0 including:
    o the use of generic collections and the ""for each"" loop
    o a detailed discussion of parameterized type constraints
    o autoboxing and varargs methods, particularly in the reflection API
    o multithreading with the java.util.concurrent package

· Makes object-oriented design principles accessible to beginning students.
· Examples are carefully chosen to make design patterns easy to remember.
· Pedagogy to support student learning is highlighted throughout the text and includes:
  o Special Topics introduce optional background material or advanced subjects
  o Design Patterns are presented in a standard format along with appropriate context for use, the solution, and a UML diagram of the pattern elements
  o Notes highlight important or interesting material
  o Internet notes contain links to further information including locations for downloadable programming tools, documentation, and articles related to chapter topics
  o Tips explain good programming practices and help students avoid common errors.
· The author's experience as a programmer helps readers appreciate the value of object-oriented design principles in their programming; his experience as a teacher gives them a context for understanding and applying these ideas that is geared to their level.
· Concepts such as interfaces, inner classes, reflection, and multithreading give readers an introduction to advanced Java language concepts.
· Introduces data structures as needed, so the book may be used before or after a formal course in data structures.
· Uses the Swing user interface toolkit and Java collections library to illustrate design patterns and how they may be applied.
· Chapter 1 serves as a crash course in Java for readers who know C++.
· Horstmann integrates the use of tools such as BlueJ, javadoc, and Junit, as well as other experimental tools.
· Presents and utilizes the most commonly used subset of the UML notation, starting in Chapter 2.
· The Capstone chapter includes the development of a graph editor framework and its specialization to a UML class diagram editor. Readers not only see how design principles relate to the implementation of the editor, but also better understand the easy-to-use UML editor, Violet, provided by the author.