Object Design: Roles, Responsibilities, and Collaborations

  • Authors:
  • Rebecca Wirfs-Brock;Alan McKean;Ivar Jacobson;John Vlissides

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Object Design: Roles, Responsibilities, and Collaborations
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

From the Publisher:If you create software using object-oriented languages and tools, then Responsibility-Driven Design has likely influenced your work. For over ten years Responsibility-Driven Design methodology has been the standard bearer of the behavioral approach to designing object-oriented software. 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. The authors present the latest practices and techniques of Responsibility-Driven Design and show how you can apply them as you develop modern object-based applications.Working within this conceptual framework, Rebecca Wirfs-Brock and Alan McKean present how user requirements, system architecture, and design patterns all contribute to the design of an effective object model. They introduce a rich vocabulary that designers can use to discuss aspects of their designs, discuss design trade-offs, and offer practical guidelines for enhancing the reliability and flexibility of applications. In addition, case studies and real-world examples demonstrate how the principles and techniques of Responsibility-Driven Design apply to real-world software designs.You'll find coverage of such topics as: Strategies for selecting and rejecting candidate objects in an emerging design model Object role stereotypes and how to identify objects' behaviors How to characterize objects using role stereotypes Allocating responsibilities to appropriate objects Developing a collaboration model Strategies for designing application controlcenters Documenting and describing a design, focusing on use cases, design conversations, and annotations Strategies for enhancing reliability, including handling exceptions and recovering from errors How to characterize software variations and design to support them for greater flexibility How to categorize and treat various kinds of design problemsAs all experienced designers know, software design is part art and inspiration and part consistent effort and solid technique. Object Design: Roles, Responsibilities, and Collaborations will help all software designers—from students to seasoned professionals—develop both the concrete reasoning skills and the design expertise necessary to produce responsible software designs.