Skip to content

Object Design: Roles, Responsibilities, and Collaborations

Focuses on the practice of designing objects as integral members of a community where each object has specific roles and responsibilities. This work includes the practices and techniques of... This description may be from another edition of this product.

Recommended

Format: Paperback

Condition: Very Good

$33.89
Save $41.10!
List Price $74.99
Almost Gone, Only 1 Left!

Customer Reviews

5 ratings

A great first text on OO design

Wirfs-Brock and McKean have written an oustanding introductory book on object-oriented design. This is definitely a book for beginning OO programmers, the ones who aren't sure how to assign functions to objects and who aren't ready for design patterns yet. More experienced developers won't get much out of it, but that's OK. Every level needs its own reference books. The book's layout and illustrations present its content well. UML diagrams, for example, use one color and typeface for the actual UML notation. The same diagrams use a different color and typeface for notes that explain the UML. Unlike other books, there's no confusion about which is the tool and which describes the tool. The text is gentle and reasonably jargon-free, but I think it over-does the friendliness in places. In discussing a program's normal and exception handling behavior, the term "happy path" described the execution in the absence of errors. The term may be evocative, but is just a bit hard to take seriously. The sequence of topics makes good sense. It starts with the idea of a "responsibility," the basic unit of application logic. The authors develop this into strategies for defining objects, defining relationships between objects, and defining the control strategies that implement those relationships. They continue on through error handling (reliability) and extensibility - handling of future features. Throughout, the authors keep a moderate, pragmatic tone, free of name-brand methodology. That's a good thing, since the real focus is on basic skills and decision criteria. One aspect of this book is just a little confusing. It's definitely aimed at educating a new OO designer, but it doesn't lay out its educational objectives or plan very clearly. It certainly lacks the didactic rigor of a textbook. It would make a good supplementary text, though, and it might be very helpful to a novice working with more experienced developers. Best of all, it refers to additional texts (including Strunk and White!) that will help claify the programs as well as communication with other members of the programming team. This book is great for anyone starting OO design on their own. It's also good for classroom students who just aren't getting it from their regular instructor and text. Experienced developers won't find much new here, except very clear descriptions of how much error handling or flexibility is enough. //wiredweird

Definitive guide to Object Oriented Design

I've always believed the best approach to object-oriented design is Responsibility Driven Design (RDD), and this is the best book on the subject-written by the inventor of RDD. I recently showed Mike Rosen, of Cutter Consortium, Object Design. Before I could say it had great chapters on RDD plus work on design for reliability and flexibility plus pages of references to related books and papers, he said 'Great! This will be my next book purchase'. So, why is Object Design: Roles, Responsibilities, and Collaborations (OD) a really great book? These folks have years of design consulting and teaching experience, know what they are talking about, and are good at telling the story.OD is a great read from cover to cover. Their two-chapter review of object design concepts was energetic, insightful, and comprehensive. From the beginning they are mixing in CRC cards (Thanks Kent, Ward!), architecture styles, patterns, and stereotypes into the discussion. This is the place to start for novices and intermediate students, and professionals now have the definitive reference book on object oriented design.The authors understand we all have different learning styles. Along with their conversation, the first two chapters also illustrate concepts and examples with over 20 figures, a couple of UML diagrams, three (short) Java code blocks, and eight CRC card drawings. Concrete examples are provided throughout the book, from computer speech to finance and telecommunications. The Chapter titles are: 1 Design Concepts, 2 Responsibility Driven Design, 3 Finding Objects, 4 Responsibilities, 5 Collaborations, 6 Control Style, 7 Describing Collaborations, 8 Reliable Collaborations, 9 Flexibility, and 10 On Design. Each chapter includes a summary. The recommendations for further reading provide a guided tour of related works in software engineering, design, and general literature.The authors share how they think about the critical areas of design for flexibility and reliability. So how do you build reliable systems? What are some experience-based guidelines for dealing with error conditions? What about all those exceptions anyway?! The chapter on flexibility is for me the heart of object technology. They show how you can apply object technology to give users control over their world. The analysis of hot spots or flex points guides the focused introduction of added flexibility. Then you can actually deliver on the promise of object oriented software.Practitioners will find this book "spot on" for the treatment of UML and Patterns. So, yes, with three or more UML books on the shelf, I am sure you can draw all those diagrams - right? With OD you are learning to think in objects and to communicate your story. Your learning how to tell your story with UML, what to say visually and what not to say. OD is a pretty good source for UML notation guidance too, as the text and the diagrams are meticulously accurate, down to the arrow head styles. OD provides a good introduction to patt

object design recommendation

I purchased this book a week ago, and am enjoying it immensely. Thisis NOT a book by authors that rapidly churn out multiple books, and itis NOT a book to be read quickly. It's clear that a lot of thoughthas gone into every page and every sentence, and that you need toreflect and compare with your own professional programming experience.Despite the huge amount of information, I'm finding the book veryreadable. The authors make a living consulting on architecture anddesign, and know how to communicate.There are some code examples in java, but the book is really languageneutral. The java code uses features that are available in all objectoriented languages, and can really be considered to be illustrativepseudo code. This book is written for software architects, and coderswho are looking to advance to higher levels of design responsibility.A nice touch that I appreciated was the short summarizing side barssprinkled throughout the text. If you want to quickly evaluate whetherthis book is for you are not, just pick up the book and read thesidebars from beginning to end.

Very Good Text on Object Design

I think I finally have a handle on object modeling-- 'Object Design' deserves a lot of the credit. I have a shelf full of books on UML, uses cases, patterns, and modeling. I spent almost a year struggling through UML, trying to understand the nuances of sequence diagrams versus collaboration diagrams. Meanwhile, I felt no closer to being able to create serviceable object models for my projects.Rebecca Wirfs-Brock and Alan McKean dispense with much of the tedious diagramming one usually associates with object modeling. Instead of charts and relationships, the book focuses on the roles, responsibilities, and behaviors that define an object. If you have ever assembled and managed employee teams, the framework will be very fmailiar. And that's where I found my breakthrough.The book offers a good introduction to object modeling for those new to the area, and a solid reference for those looking to stremline their current methodology. The processes suggested by the authors are simple and flexible. But they are powerful enough to handle even complex designs.One of the strongest pieces of advice in the book is to avoid rushing into UML software--stick with index cards until the design is fairly well developed. That's what got me out of a morass of charts and diagrams that looked nice, but did relatively little. I'd paraphrase the book's theme as "Forget the formalism and focus on your application's responsibilities, and how those responsibilities can be allocated among cohesive, well-organized team players.:The book is language neutral--it's focus is design, rather than programming. The design methodology taught in the book should be easily adaptable to nearly any object-oriented programming language.I have no hesitation recommending Object Design to novice and intermediate object modelers. I rate is as the best book I have read on the design and modeling of object-oriented systems.

Review of Object Design

This is an excellent book written in a style reflective of the extensive consulting and training experience of it's authors.It offers the reader a substantial mental framework with which to think and reason about the system you are designing, how to cast that system in terms of objects and how to use some very practical tools to help you create and refine your design concept.Instead of dogmatically stating "this is the (only) way you do x", it helps you to understand the variety of possible approaches to problems - such as deciding what is the best control style for a system and gives you tools to help decide the best approach. It also acknowledges that design is very much a team activity and gives you ways to facilitate communicating the design story effectively amongst team members.Although the book is very compatible with the use case methods and uml, it transcends these tools to include some unique and powerful ways of thinking about your object design.Above all, although it covers some powerful methods, it is very easy to read and apply. I attribute this to the extensive teaching experience of the authors.I highly recommend this book whether you are a system architect, a program designer or a coder of algorithms.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured