A system and method for handling properties of objects is provided. More specifically,
the system and method provide a dependency mechanism for expressing the relationship
between the properties in a formal manner. This relationship may either be applied
globally or locally. Using the dependency mechanism, the property system monitors
relationships between properties and detects circularities between the different
properties during runtime. The system and method also provide an evaluation mechanism
for calculating a value for any of the properties. Because the property system
is on-demand, the value need not be stored in local storage. The dependency mechanism
and the evaluation mechanism are extensible, which allows the property system to
model any type of relationship, such as a direct relationship, inheritance, reverse
inheritance, property sheets, encapsulation, and the like.