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.