Object Role Stereotypes
From SwinBrain
Rebecca Wirfs-Brock and Alan McKean propose a number of object role stereotypes in Object Design. These stereotypes help you classify object roles, and can assist in finding responsibilities. The stereotypes covered include the following.
Contents |
Information Holder
Outline: knows and provides information.
The object is a container for information, typically performing few actions.
Structurer
Outline: maintains relationships between objects and information about those relationships.
The object maintains a number of other objects. Collection classes are structurers. Any object that acts as a container for other objects is likely to be a structurer.
Service Provider
Outline: performs work and, in general, offers computing services.
An object that is primarly about offering a certain service to clients. This can interact with other objects to retrieve information that irt requires to perform its actions.
Coordinator
Outline: reacts to events by delegating tasks to others.
Rather than performing the work, a coordinator is responsible for organising others to perform actions. The bulk of the work is performed by the other party, with the coordinator just coordinating the work.
Controller
Outline: makes decisions and closely directs others' actions.
This is a step on from the coordinator, the object not makes decisions and controls other objects in their actions. This will control the work, rather than just delegating to others.
Interfacer
Outline: transforms information and requests between distinct parts of our system.
Anything that interacts with external "things" is likely to be an interfacer.
Examples:
- Roles that interface with users
- Roles that connect to external devices, such as databases, web services, etc. (Gateways)