Roles, Responsibilities, Collaborators

An object is an implementation of one or more roles;
a role is a set of relatedresponsibilities;
and a responsibility is an obligation to perform a task or know information.
A collaboration is an interaction of objects or roles (or both).

(origin: Wirfs-Brock and McKean in [Wirfs-Brock03]) ./resources/technique-crc-cards-candidates-responsibilities-co.resources/unknown_filename.png (src: Book: Growing Object Oriented Software, Guided By Tests - Steve Freeman & Nat Pryce)