By: A. Carlson, S. Estepp, M. Fowler
Published in: PLoPD4
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.
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.
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.
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.