Covering technique and implementation for building code for complex applications frameworks, this book demonstrates how to build high-quality output that is consistent and maintainable. Lessons on abstracting the design of the code so that multiple outputs can be created from a single abstract model of the application functionality are provided. Techniques that range from using simple code processors to handle common coding problems to creating more elaborate and complex generators that maintain entire application tiers are covered. Topics such as building database access, user interface, remote procedure, test cases, and business logic code are also addressed, as is code for other system functions. Although code generation is an engineering technique, it also has an impact on engineering teams and management, an aspect of code generation that is covered in depth in this resource.