or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
or
Get a £15.85 Amazon.co.uk Gift Card
Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) [Paperback]

Rebecca Wirfs-Brock , Alan McKean
4.2 out of 5 stars  See all reviews (5 customer reviews)
RRP: £43.99
Price: £38.71 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £5.28 (12%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Only 3 left in stock--order soon (more on the way).
Want guaranteed delivery by Saturday, February 11? Choose Express delivery at checkout. See Details
Trade In this Item for up to £15.85
Trade in Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) for an Amazon.co.uk gift card of up to £15.85, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Find more products eligible for trade-in.

Frequently Bought Together

Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) + Domain-driven Design: Tackling Complexity in the Heart of Software + Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series)
Price For All Three: £101.17

Show availability and delivery details

Buy the selected items together


Product details

  • Paperback: 416 pages
  • Publisher: Addison Wesley; 1 edition (8 Nov 2002)
  • Language English
  • ISBN-10: 0201379430
  • ISBN-13: 978-0201379433
  • Product Dimensions: 23.4 x 18.7 x 2.2 cm
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Bestsellers Rank: 500,160 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Rebecca Wirfs-Brock
Discover books, learn about writers, and more.

Visit Amazon's Rebecca Wirfs-Brock Page

Product Description

Product Description

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!

From the Back Cover

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 control centers
  • 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 problems

    As 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.



    0201379430B08292002

  • 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)
     
    (7)
    (6)

    Your tags: Add your first tag
     

    Sell a Digital Version of This Book in the Kindle Store

    If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


     

    Customer Reviews

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

    9 of 9 people found the following review helpful:
    5.0 out of 5 stars A book that will never leave your side., 18 April 2003
    By A Customer
    This review is from: Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) (Paperback)
    First of all, I dont consider this "advanced" but more "medium-advanced". If you have a simple appreciation of the concepts and have been working in the industry for at least a year, then I dont think you would have a problem.

    Intellectual communities suffer from the fact such communities have within them a set of strong willed thinkers. Because of this, such communities have rhetoric, material and theories that may contradict each other. For someone trying to "learn" and develop as a practitioner of the "theory", such contradictions become detrimental. I feel the Object Technology community is one such community that exhibits such symptoms, and as a practitioner myself, I have found it difficult at times to "learn the right thing". If you are like me, and read something, change your ways and then read something new which contradicts what you've just learnt, then this book is for you.

    Objects are the abstractions in a software design that exist to provide the implementation that supports the requirements of the users. If you think of objects as Behaviour + data (data isnt capitalised), then profoundly this simple change will affect your work and how you think about a design. This book will guide you towards thinking of objects as much more than data/information holders that are dumb and do little. Gently this book will change the way you think about objects, and how you look at situations were you have one large controlling object that uses data from lots of information holding objects (dumb objects). Its not a trivial road you will be travelling on, but when your journey is over, you will probably scoff at the large Controller, break it down and distribute its responsibilities amongst those once dumb information holders. You'll step back and be profoundly amazed at what you've done. This book will change peoples lives.

    If you seriously want to become an OO Practitioner, and wish to develop elegant software that literally does have all of the extensibility and reuse factors built in, then this book is seriously for you. Dont be put off by the title, and think that the Roles, Responsibilities and Collaborations aspect is some kind of "method" or freaky way of developing software. This book teaches you the important parts about thinking in Objects that many other books never ever dream of saying.

    Think of requirements, think of objects and think about which object will play in an interaction sequence to fullfil these requirements. Will there be a controller for a use case that makes many decisions? Will you decide not to go for this type of collaboration mechanism and instead opt for more intelligent objects working in a neighbourhood of like-minded objects working towards a common goal? Once you've finished this book, you will most probably be designing with the latter design in mind.

    As soon as you think of objects and start asking yourself "What data does this object hold" you are on shakey ground. This book will show you why this is so, and how to change your thinking to build responsible objects in your design. It is a foundational piece of work that will always have a place on my bookshelf.

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


    8 of 8 people found the following review helpful:
    4.0 out of 5 stars Gets you going, fast, 19 Mar 2003
    This review is from: Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) (Paperback)
    When you're developing object models, do you ever sit there staring at a dialog trying to think of a description for an object? Do you ever write something feeble in like this?

    Graph Node
    Description: A node in a graph.

    Descriptions like this are semantically content-free; they don't tell you anything that the name hasn't already told you. I've read hundreds of descriptions like this, and even written a few. Generally, I try and put a bit more effort into my descriptions, but its always a struggle.

    I bought a copy "Object Design: Roles, Resonsibilities, and Collaborations" and tired applying the CRC technique to a small graph-based diagramming tool I was developing. The updated technique for using CRC cards is to introduce an even earlier step in the process in which you write just a class name and its purpose. Here's a description I wrote on one side of an index card:

    Graph Node
    Purpose: A graph node is primarily a data holder. It defines a rectangle
    on a diagram with a label in its center. It notifies its dependants when it
    is created, changed or deleted.

    What a difference! This actually tells you something about the object in question and, surprisingly, it was easy to write. The secret of its effectiveness is the change of mind state that results when you replace the somewhat vague 'Description' with the much more leading 'Purpose'. This shifts the emphasis from the 'What' to the 'Why' of an object. If someone asks me 'what' a graph node is my knee-jerk response is, "A node in a graph, stupid!" but when I'm asked what its purpose is a host of details come pouring out.

    Now I'm a convert. If I'm using a case tool now I write 'purpose-full' object descriptions, and I find it works with attributes and relationships too. If I'm writing C++ by hand, I put a 'Purpose:' section at the top of the header file and fill it in.

    "Object Design..." has a lot more to say about the early phases of modeling and I can heartily recommend it to those who want to improve their transition from object blitz to production code.

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


    2 of 2 people found the following review helpful:
    5.0 out of 5 stars Great ADVANCED book on obiect-oriented design, 22 Jan 2003
    By A Customer
    This review is from: Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) (Paperback)
    "Object Design" is an excellent book on object-oriented design -- provided you consider it as an ADVANCED text of the topic and not just an INTRODUCTION.

    The book presents the responsibility-driven approch, where you design objects by thinking in terms of roles, responsibilities, and collaborations. The responsibility-driven approch has been introduced by the authors in the nineties and applied and improved in the last decade. It is really a modern and current approach!

    Object-oriented design is described according to various perspectives that must be considered during design: object identification, responsibility identification and assignment according, collaborations, control style, and so on. For carrying out each task, several possible alternatives are described and compared -- as it should happen in real software development. In general, the book is plently of advices based upon the authors' experience in designing REAL object applications.

    The method proposed is fully compatible with current standards and tools (e.g., use cases, UML and the Unified Process). Still, the book does not constraint itself to none of those standards - the proposed approach has a very wide applicability wrt existing methods and processes.

    Also, it references a number of very good books related to object-oriented software development.

    However, this is not an introductory book on object design. If you are new to this topic, you better read first an introduction to object methods. Personally, I recommend "Applying UML and Patterns" (2nd edition) by Craig Larman, a very good introduction to object-oriented analysis and design. Then, the book by Wirfs-Brock and McKean will let you complete your vision and understanding of the beautiful - but difficult - realm of object-oriented design. Enjoy it!

    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
    Would you like to see more reviews about this item?
     Go to Amazon.com to see all 12 reviews  4.4 out of 5 stars 
    Were these reviews helpful?   Let us know
     
     
    Most Recent Customer Reviews



    Only search this product's reviews



    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
     

    Search Customer Discussions
    Search all Amazon discussions
       


    Listmania!


    Look for similar items by category


    Look for similar items by subject


    Feedback


    Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges