or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
30 used & new from £20.76

Have one to sell? Sell yours here
 
   
Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series)
 
See larger image
 

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

by Rebecca Wirfs-Brock (Author), Alan McKean (Author)
4.8 out of 5 stars  See all reviews (4 customer reviews)
RRP: £37.99
Price: £22.78 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £15.21 (40%)
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.

Want guaranteed delivery by Tuesday, November 10? Choose Express delivery at checkout. See Details
19 new from £20.86 11 used from £20.76

Special Offers and Product Promotions


Frequently Bought Together

Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) + Domain-driven Design: Tackling Complexity in the Heart of Software + Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
Price For All Three: £55.76

Show availability and shipping details


Customers Who Bought This Item Also Bought

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

by Robert C. Martin
4.4 out of 5 stars (10)  £13.99
Domain-driven Design: Tackling Complexity in the Heart of Software

Domain-driven Design: Tackling Complexity in the Heart of Software

by Eric Evans
3.9 out of 5 stars (8)  £18.99
Working Effectively with Legacy Code (Robert C Martin)

Working Effectively with Legacy Code (Robert C Martin)

by Michael Feathers
4.5 out of 5 stars (4)  £17.98
Object-oriented Design Heuristics

Object-oriented Design Heuristics

by Arthur J. Riel
4.9 out of 5 stars (8)  £32.29
Patterns of Enterprise Application Architecture (The Addison-Wesley signature series)

Patterns of Enterprise Application Architecture (The Addison-Wesley signature series)

by Martin Fowler
4.4 out of 5 stars (13)  £21.49
Explore similar items

Product details

  • Paperback: 416 pages
  • Publisher: Addison Wesley; illustrated edition edition (19 Nov 2002)
  • Language English
  • ISBN-10: 0201379430
  • ISBN-13: 978-0201379433
  • Product Dimensions: 22.8 x 18.8 x 2.2 cm
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon.co.uk Sales Rank: 319,967 in Books (See Bestsellers in Books)
  • See Complete Table of Contents

Customers Viewing This Page May Be Interested in These Sponsored Links

  (What is this?)
   LCP D&T Resource Files opens new browser window
www.lcp.co.uk  -  Creative & exciting DT lesson plans & activities for primary teachers 
  
 

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)
     
    software ooad
    ood
    ooad

    Your tags: Add your first tag
     

    What Do Customers Ultimately Buy After Viewing This Item?

    Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series)
    78% buy the item featured on this page:
    Object Design: Roles, Responsibilities and Collaborations (Addison-Wesley Object Technologiey Series) 4.8 out of 5 stars (4)
    £22.78
    Object-oriented Design Heuristics
    11% buy
    Object-oriented Design Heuristics 4.9 out of 5 stars (8)
    £32.29
    Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
    4% buy
    Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development 4.8 out of 5 stars (9)
    £23.97
    Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
    4% buy
    Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) 4.4 out of 5 stars (10)
    £13.99

     

    Customer Reviews

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

     
    10 of 10 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
    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.

    Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



     
    8 of 8 people found the following review helpful:
    4.0 out of 5 stars Gets you going, fast, 19 Mar 2003
    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.

    Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



     
    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
    "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!

    Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

    5.0 out of 5 stars Evolution of CRC
    This book gives a great introduction to object oriented design and I thoroughly enjoyed reading it. The arguments have moved on since Wirfs-Brock first wrote about CRC cards, but... Read more
    Published on 18 Oct 2007 by Sue Barker

    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
     

       


    Listmania!


    Look for similar items by category


    Look for similar items by subject


    Feedback

    Ad

    Your Recent History

     (What's this?)

    After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.