there has been quite an uproar with code generations lately.
Two interesting announcements caught my attention. First, an announcement was made that the current asp.mvc uses the Visual Studio built-in T4 code generation to drive the scaffolding of the UI. That enables the modification of those templates to meet your unique requirements which is something I always wanted for the Proxy Generation of WCF.
Secondly, the Sculpture project reached version 1.0. This is a very interesting open source project for Model-Driven Development in .NET. In its core, it enables the usage of Molds to support different technologies throughout the range of layers. Here’s a list of Molds available to use in the latest version.
- Database: SQL Server only
- Data Access Layer: NHibernate, SubSonic, CSLA and the Data Application Block
- Service Layer: WCF, Web Services and "just" libraries
- User Interface, a huge range of molds including Web (ASP and ASP MVC), Windows (Windows forms and WPF) and Silverlight
This is an open source project, and with the notion of molds, I think that there’s huge potential for modifications and improvements, such as adding support for more databases. Definitely worth a closer look, and to start, I’d recommend watching the introduction video.
Code generation is not evil, but it has a risk of going extremely wrong. However, with added support from the development tool (e.g. partial classes) and much better tools out there, I think we ought to take a closer look into what code generations gives us. At the end of the day, if it reduces effort & time, I’ll take it!
Now we only have to see and wait what will Oslo bring to the DDD table with its own capabilities of code generations and extensions… Existing times!