-Generate in separate tiers or components of your application
-Retrieve from a cache, a repository, or a third-party data access layer
-Receive from a Web Service as an object instance or a set of property values
-Reconstruct from existing values, perhaps populating them by copying properties from a similar object or using values retrieved from a database
Enter the Enterprise Library with its Validation Application Block.