Slide 15 of 42
Notes:
In object oriented designs as in the real world (whatever that is), objects often can be seen to take more than one role. Each role is about its contract and consequent interactions with some other type of object. As an analogy: you may be an employee, wh
Each of these relationships can be described and defined in its own right, and one does not imply the other. But when an object plays several roles, its state is affected by all of them óÝfor example, parenthood drains the same bank account that is filled
Collaborations have always been the principal focus of object oriented design. Distributing responsibilities between collaborating objects is the key to successful decoupling. Most patterns talk about the relationship between certain roles of a group of o
Making collaborations reusable chunks of design is therefore a sensible move. We can then use collaborations to describe not only inter-object schemes within designs, but also to describe complex component interfaces.
Use-cases form the basis of the specification and refinement of collaborations.