CodeDom (Code Document Object Model) is used to create programs which generates code from design. Uses: 1. Templated code Generation: Code generation for ASP.NET, XML Webservices proxies,etc 2. Dynamic Compilation: Supporting code generation in 1 or more languages.