Temporal Patterns


By: A. Carlson, S. Estepp, M. Fowler
Published in: PLoPD4
Pages: 241-262
Category: Analysis, Time

Summary: For problems arising when objects in a complex information system change over time.

For problems arising when objects change over time.

Pattern: Temporal Property

Pages: 241-250

You want to track how a property has changed or is expected to change, or both. The property holds a number of discrete values for intervals of time, as opposed to properties such as temperature that can change continuously. Build a model to represent the validity period of each property value. Provide support for clients not concerned with the temporal aspects by adding methods that do not require a time parameter, and assume a default of the current time.

Pattern: Temporal Association

Pages: 250-254

You need to track how the state of object relationships has changed or is expected to change, or both. There is always an intermediate object representing the relationship, so add time information directly to the intermediate object.

Pattern: Snapshot

Pages: 255-261

Modify a client interface by adding methods to allow provision of a snapshot object for a point in time. The snapshot object provides a view of one or more properties or relationships with time and history removed. The snapshot should provide the time to which it applies.