Object Design Roles, Responsibilities, and Collaborations

ISBN-10: 0201379430

ISBN-13: 9780201379433

Edition: 2003

List price: $74.99
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy


After more than ten years, object technology pioneer Rebecca Wirfs-Brock teams with expert Alan McKean to present a thoroughly updated, modern, and proven method for the design of software. The book is packed with practical design techniques that enable the practitioner to get the job done. Like many human endeavors, design is part art, part engineering, part guesswork, and part experimentation. Discipline, hard work, inspiration, and sound technique all play their part as well. For any given problem, there are many reasonable, but only a few very good solutions. The authors' goal is to help readers learn to make those very good design decisions on their own. The book explores challenges that software developers will face as they build their design, and shows how design patterns can be used to solve design problems. Long awaited and eagerly anticipated, this book represents the first great software design book of the century. A FUTURE CLASSIC!
what's this?
Rush Rewards U
Members Receive:
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Business Ethics Online content $4.95 $1.99
Add to cart
Study Briefs
Business Law Online content $4.95 $1.99
Add to cart
Study Briefs
Management Online content $4.95 $1.99
Customers also bought

Book details

List price: $74.99
Copyright year: 2003
Publisher: Addison Wesley Professional
Publication date: 11/8/2002
Binding: Paperback
Pages: 416
Size: 7.25" wide x 9.00" long x 1.00" tall
Weight: 1.782
Language: English

Design Concepts
Object Machinery
Object Role Stereotypes
Roles, Responsibilities, and Collaborations
Object Contracts
Conditions-of-Use and Aftereffect Guarantees
Domain Objects
Application-Specific Objects
Two Roles
Object Organizations
Applying Double Dispatch to a Specific Problem
The Real Benefits of Using Patterns
Frameworks, Inc.
Architectural Styles
Centralized Control Style
Dispersed Control: No Centers
Delegated Control
Examining Interactions: A Layered Architecture Example
Locating Objects in Layers
Design Description
Further Reading
Responsibility-Driven Design
A Process for Seeing, Describing, and Designing
Launching the Production: Project Definition and Planning
Setting the Stage: Early Description
Staging the Production: Design
"Seeing" from Multiple Perspectives
Writing the Script: Analysis Descriptions
Usage Descriptions
Other Specifications
Conceptual Objects
Casting the Characters: Exploratory Design
CRC Cards
Inventions: Using Patterns
Pursuing a Solution
Bouncing Between Ideas and Details
Tuning the Production: Design Refinement
Designing for Flexibility and Extension
Designing for Reliability
Making Our Design Predictable, Consistent, and Comprehensible
Further Reading
Finding Objects
A Discovery Strategy
Looking for Objects and Roles, and Then Classes
Why Tell a Design Story?
Search Strategies
What's in a Name?
Describing Candidates
Characterizing Candidates
Connecting Candidates
Looking for Common Ground
Defend Candidates and Look for Others
Further Reading
What Are Responsibilities?
Where Do Responsibilities Come From?
Strategies for Assigning Responsibilities
Recording Responsibilities
Making Initial Assignments
Getting Unstuck
Implementing Objects and Responsibilities
Testing Your Candidates' Quality
Further Reading
What Is Object Collaboration?
Preparing for Collaboration
Recording Candidate Collaborations
The Design Story for the Speak for Me Software
Collaboration Options
Who's In Control?
How Much Should Objects Trust One Another?
Strategies for Identifying Collaborations
Looking at an Individual Object's Role: Stereotypes Imply Collaborations
Looking at Individual Responsibilities: They Imply Collaborations
Designing the Details of a Complex Responsibility
Designing Collaborations for a Specific Task
Identifying Applicable Patterns
Identifying How Architecture Influences Collaborations
Solving Problems in Collaborations
Simulating Collaborations
Planning a Simulation
Running a Simulation
Designing Good Collaborations
The Law of Demeter: A Case Study
Making Collaborations Possible
Guidelines for Making Connections
Designing Reliable Collaborations
When Are We Finished?
Further Reading
Control Style
What Is Control Style?
Control Style Options
Making Trade-offs
Centralizing Control
Delegating Control
The Limits of Control Decisions
Developing Control Centers
A Case Study: Control Style for External User Events
Centralizing Control in the MessageBuilder
Refactoring Decision Making into State Methods within the MessageBuilder
Abstracting Away Decisions
Delegating More Responsibility
Designing the Control Style for the Guessing Neighborhood
Designing a Similar Control Center: Can We Be Consistent?
Describing Collaborations
Telling Collaboration Stories
A Strategy for Developing a Collaboration Story
Establishing Scope, Depth, and Tone
Listing What You Will Cover
Deciding on the Level of Detail
Showing a Bird's-Eye View
Showing Collaborators Only
Showing a Sequence of Interactions Among Collaborators
Showing an In-Depth View
Showing a Focused Interaction
Showing an Implementation View
Showing How to Adapt a Collaboration
Where UML Diagrams Fall Short
Choosing the Appropriate Form
Tell It, Draw It, Describe It: Guidelines
Organizing Your Work
Adding Emphasis
Unfolding Your Story
Understanding What's Fundamental
Putting It All Together
Preserving Stories
Further Reading
Reliable Collaborations
Understanding the Consequences of Failure
Increasing Your System's Reliability
Determining Where Collaborations Can Be Trusted
Trusted Versus Untrusted Collaborations
Implications of Trust
Identifying Collaborations to Be Made Reliable
What Use Cases Tell Us
Distinguish Between Exceptions and Errors
Object Exceptions Versus Use Case Exceptions
Object Exception Basics
Exception- and Error-Handling Strategies
Determining Who Should Take Action
Designing a Solution
Brainstorm Exception Conditions
Limit Your Scope
Record Exception-Handling Policies
Documenting Your Exception-Handling Designs
Specifying Formal Contracts
Reviewing Your Design
Further Reading
What Does It Mean to Be Flexible?
Degrees of Flexibility
The Consequences of a Flexible Solution
Nailing Down Flexibility Requirements
Recording Variations
Variations and Realizations
Identifying the Impact of a Variation
Exploring Strategies for Realizing Flexibility
Using Templates and Hooks to Support Variations
The Role of Patterns in Flexible Designs
Varying an Object's Behavior with the Strategy Pattern
Hiding Interacting Objects with Mediator
Making a Predefined Object or System Fit Using Adapter
How Do Patterns Increase Flexibility?
How to Document a Flexible Design
Consider Your Audience
Describing How to Make a Variation
Changing a Working System's Design
Further Reading
On Design
The Nature of Software Design
Tackling Core Design Problems
Frame the Problem
Dealing with Revealing Design Problems
A Story About Managing Shared Information
A Story About Connection Problem Complexity
A Story About a Design Problem That Never Got Easier
Can Revealing Problems Be Wicked, Too?
Strategies for Solving Revealing Problems
Redefining the Problem
Synthesizing a Solution
Working on the Rest
Designing Responsibly
Further Reading
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.