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:

  1. Roles that interface with users
  2. Roles that connect to external devices, such as databases, web services, etc. (Gateways)

[edit]Links: Topic Brains
Return to Swin Brain