title: User-adjustable data structures
body: <p>assume a data structure <em>Person</em> used for a contact database. The fields of the structure should be configurable, so that users can add user defined fields to the structure and even change existing fields. So basically there should be a configuration file like</p>
  
  <pre><code>FieldNo  FieldName          DataType           DefaultValue
   0        Name               String             ""
   1        Age                Integer            "0"
   ...
  </code></pre>
  
  <p>The program should then load this file, manage the dynamic data structure (dynamic not in a "change during runtime" way, but in a "user can change via configuration file" way) and allow easy and type-safe access to the data fields.</p>
  
  <p>I have already implemented this, storing information about each data field in a static array and storing only the changed values in the objects.</p>
  
  <p>My question: Is there any pattern describing that situation? I guess that I'm not the first one running into the problem of creating a user-adjustable class?</p>
  
  <p>Thanks in advance. Tell me if the question is not clear enough.</p>