What are design patterns to support custom fields in an application?
We develop a commercial application. Our customers are asking for custom fields support. For instance, they want to add a field to the Customer form. What are the known design patterns to store the field values and the meta-data about the fields? I see these options for now: Option 1 : Add Field1, Field2, Field3, Field4 columns of type varchar to my Customer table. Option 2 : Add a single column of type XML in the customer table and store the custom fields' values in xml. Option 3 : Add a CustomerCustomFieldValue table with a column of type varchar and store values in that column. That table