Amazon.com: Object-Oriented Design & Patterns (9780471319665): Cay S. Horstmann: Books

Kindle Edition
Read instantly on your iPad, PC or Mac, no Kindle required
Buy Price: $71.08
Rent From: $33.69
 
 
   
Have one to sell? Sell yours here
Object-Oriented Design & Patterns
 
 

Object-Oriented Design & Patterns [Paperback]

Cay S. Horstmann (Author)
3.6 out of 5 stars  See all reviews (11 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
 
Kindle Edition
Rent from
$71.08
$33.69
 
Paperback $78.98  
Paperback, April 3, 2003 --  
There is a newer edition of this item:
Object-Oriented Design and Patterns Object-Oriented Design and Patterns 3.6 out of 5 stars (11)
$78.98
In Stock.

Book Description

April 3, 2003 047131966X 978-0471319665
* Introduces object-oriented fundamentals critical to designing software and shows how to implement design techniques
* Horstmann's clear, hands-on presentation and outstanding writing style help readers to better understand the material
* Useful sidebars cover relevant data structures
* C++ notes throughout the book illustrate object-oriented programming concepts that are not available with Java
* An online UML editor (designed by the author) allows readers to create and test UML code
* Also available from Cay Horstmann, the highly successful Computing Concepts with Java Essentials, Third Edition (0-471-24371-X); Computing Concepts with C++ Essentials, Third Edition (0-471-16437-2), and Big Java (0-471-40248-6)


Editorial Reviews

From the Back Cover

This hands-on-guide-written by one of the most successful authors in programming-makes design patterns and principles accessible to everyone! Drawing from his extensive experience as a programmer, consultant and teacher, Horstmann introduces object-oriented design principles, and gives you a roadmap for applying these principles and techniques in your own designs.
  • Each topic is illustrated with a high-interest example that introduces you to user interface programming and the full range of Java language features. As you build your programming skills, you will also learn good design practice.
  • This book uses Java as its implementation language, and also covers additional OOD strat egies that are available in C++ and other object-oriented languages.
  • The book includes a crash course in Java, covering all the basic language constructs for anyone not familiar with the language.
  • Horstmann integrates the latest and most effective tools such as BlueJ, javadoc, and JUnit, as well as other experimental tools.
  • The Capstone chapter introduces design principles and shows you how to create an easy-to-use UML diagram editor.
  • The guide will reach you important skills, including:
    - using UML for modeling
    - unit testing and programming by contract
    - programming GUI applications
    - understanding classical design patterns
    - using and designing frameworks

About the Author

Cay S. Horstmann is a Professor of Computer Science in the Department of Mathematics and Computer Science at San Jose State University. He is an experienced professional programmer and was Vice President and Chief Technology Officer for Preview Systems, Inc. He is also a consultant for major corporations, universities and organizations on C++, Java, Windows and Internet programming. Horstmann is the author of many successful professional and academic books, including Core Java (Sun Microsystems Press), with Gary Cornell, Computing Concepts with Java Essentials (John Wiley and Sons, Inc.), Big Java (John Wiley & Sons, Inc.), and Computing Concepts with C++ Essentials (John Wiley & Sons, Inc.).

Product Details

  • Paperback: 464 pages
  • Publisher: Wiley (April 3, 2003)
  • Language: English
  • ISBN-10: 047131966X
  • ISBN-13: 978-0471319665
  • Product Dimensions: 9.1 x 7.6 x 0.7 inches
  • Shipping Weight: 1.6 pounds
  • Average Customer Review: 3.6 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #424,246 in Books (See Top 100 in Books)

More About the Author

Cay S. Horstmann is also coauthor of Core JavaServer Faces, Second Edition (Prentice Hall, 2007). Cay is a professor of computer science at San Jose State University, a Java Champion, and a frequent speaker at computer industry conferences.

 

Customer Reviews

11 Reviews
5 star:
 (5)
4 star:
 (2)
3 star:
 (1)
2 star:
 (1)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.6 out of 5 stars (11 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

32 of 37 people found the following review helpful:
2.0 out of 5 stars Too much and not enough, September 13, 2003
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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 14 people found the following review helpful:
5.0 out of 5 stars Object-Oriented Design and Pattersn by Cay Horstmann, October 1, 2004
This review is from: Object-Oriented Design & Patterns (Paperback)
Reviewer: Dr. Alexander Yakhnis, ayakhnis@brockport.edu

I like the book and have taught Spring 2004 Object-oriented Development (CSC 429 ) course at SUNY College at Brockport, New York. I have taught the material from Chapter I through 6. I have also used the material from Ch. 8 Object-Oriented Frameworks for 2 Independent Study Courses with 2 students during Summer 2004.

I find chapters 4 and 5 the best hands on introduction to Design Patterns that makes the corresponding material of The Gang of Four book quite understandable and it is better by far than many other attempts to introduce design patterns. The author plays to an advantage the use of Java and its libraries already based on some of the design patterns that many other authors have not exploited despite existence of Design Patterns presented in Java.

I also find the choice of 5 patterns: Iterator, Strategy, Observer, Composite and Decorator very tasteful as well as very useful. The author's problem examples illustrating the use of design patterns, particularly, the Invoice example is excellent.

The material in Ch. 4 on Interface Types leads to design patterns gracefully, and one can obviously recognize Strategy patter playing important role unnamed yet. This looks to me a good arrangement. Exercises reinforce the ideas very well. If some more exercises will be added that would be a nice improvement.

The author succeeds in making clear the concept of Object-Oriented Frameworks in introductory textbook. Separation of a framework and applications built on it is very well presented. Use of sequence diagrams helps to understand OO Framework. I would suggest that the concept of a Use Case and collaboration diagrams as alternative to sequence diagrams helps to get into the heart of how a framework achieves a goal relevant to a user. An excellent example of such a goal is presented in Ch. 8 for the Graph Framework.

When I was teaching the course I have attempted to replace The Object-Oriented Design Process from Ch. 2 by elements of Craig Larman textbook Applying UML and Patterns (Completely different patterns there than the 5 mentioned above). It helped me to reinforce software engineering concepts taught by Craig Larman that I have taught in software engineering course and also provided good point of view for understanding the OO Frameworks where some of the goals served by an OO Framework are viewed as Use Cases.

I would use the book again for CSC 429 Object-Oriented Development without hesitation should I be teaching this course again. Also, I continue to use OO Design and Patterns as a source of material for Independent Studies.

Finally, I congratulate the author for making available and understandable the concept of Design Patterns as practical way of building OO software at undergraduate level.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 7 people found the following review helpful:
5.0 out of 5 stars An ideal intro to OOD by an insightful author., December 4, 2003
By A Customer
This review is from: Object-Oriented Design & Patterns (Paperback)
The previous reviewer sounds like he is looking for an all in one reference. Indeed, if you are a professional programmer and need a reference book, this one is not for you. However, if you're a student, new to OO programming/design or just want to add to your programming knowledge, this is a perfect book. It's designed for the classroom first (see the preface and exercises!), but is also useful for anyone who learned to program in C++ or Java and wants more sophisticated OO coverage. It is certainly not intended to teach the entire language. Rather, it assumes you already know how to program and want to learn more about Object-Oriented Design, including UML and design patterns. This is an important topic and it's never been introduced in a clearer, more intersting way than it is in this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews









Only search this product's reviews



Inside This Book (learn more)
Browse and search another edition of this book.
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
thread synchronization, graphics programming, unit testing, graph editor framework, public void paintlcon, simple graph editor, greeter object, private int tail, endar class, collection interface type, private int head, public void translate, decorated component, public void accept, public void draw, mailbox menu, private int width, public int compare, private int size, scanner class, anonymous class, mailbox owner, same hash code, int capacity, collections framework
Key Phrases - Capitalized Phrases (CAPs): (learn more)
The Java Object Model, Crash Course, The Object-Oriented Design Process, Case Study, More Design Patterns, Putting Patterns, General Path, Three Implementations of the Day Class, Special Topic, Null Poi, Say Goodbye, Say Hello, Law of Demeter, The Importance of Encapsulation, The Hierarchy of Standard Geometric Shapes, Properties Events Code, Abstract Classes, Design Pattern Actual Name, Gang of Four, French Revolutionary, Tool Bar, Interface Types
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(66)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject