- Data Object (Information Holder)
- Mostly data, little behaviour.
Often a straight domain object.
- Container (Structurer)
- Little state and behaviour of its own.
Main purpose is to bundle several other (data) objects.
Often a straight domain object.
- Manager (Controller, Coordinator)
- Organizes communication/collaboration/workflow amongst
other objects. Listens to and dispatches events.
Replaces multi-lateral object relationships with bi-lateral ones.
- Relationship
- Promotes relationship between objects to first-rate abstraction.
For relationships with constraints or
requiring simultaneous actions.
- Functor (Operator)
- Promote operation to first-rate abstraction.
Package a capability as object, so that it can be passed
as argument (and may maintain state).
- Gateway (Interfacer)
- Encapsulates distinct parts of the overall system.
Transforms/translates requests and information as required.
- Service Provider
- Performs work (e.g. computation, retrieval,
remote or real-world communication).
- Factory
- Creates objects.
|