XmlObject - Adaptive Object Model

Better Designs Faster


This page has a quick description of the notation used for diagrams in this site.  The diagrams are auto generated by  a development tool I use (Visual Studio). 


If you are familiar with UML you will see that they are very UML like and you can probably skip this section.  I prefer this notation to UML because it is formal.   There is a one to one correspondence between diagram elements and the source code.  As one makes changes to the diagram they are reflected immediately in code.  Changes in source are immediately rendered in the diagram.


Each box represents either a class or a struct.  The name of the class is in bold at the top.  Under the name the box is identified as either a class or a struct.   If the class is specialized the name of the base class is shown next.  A class (or a struct) can have fields, properties and methods.


· Fields are objects or values that are contained in a class or a struct.  A field allows a class or a struct to encapsulate data.  The derived classes below both declare field members.  The field m_Field2 is shown as an association.

· Properties are methods (see next bullet) that provide a flexible mechanism to read, write, or compute the fields. Part syntactic sugar, properties are very a powerful feature of modern programming languages.  Properties can be used as though they are public data members, they enable data to be accessed easily while still providing the safety and flexibility of methods.  The property named Property2 is shown as an association.  Notice the double arrow, this means that the property represents a collection of objects as opposed to a singular object.

· Methods are the classes’ operations.  This (of course) is where the behavior for a given class lives.


XmlObject Guy