The mysterious code generator in our October CTP

In our newsgroup, Bill asked what the deal was with the code generation that we expose via the context menus on the diagram.


I thought I'd share my answer a bit more widely…


The code generation that's in the current download is 
indicative of the type of code that will be generated to 
provide access to the domain model. The APIs exposed by 
this code are the type of APIs that you will program 
against if you want to access model data created by an 
end user of your custom Visual DSL Designer.

For example, if your domain model contains Houses and 
Rooms, then this generated code might contain a House 
class with a Rooms collection on it.

The generated code will be sufficient for many purposes 
without additions.  However, you may well want to use 
partial classes to add functionality.
Some examples:
Code to validate that a set of constraints hold across 
your model.
Code to create coherent pieces of model with one call 
(e.g. a House with foundations and a roof)

In our next CTP, we will code generate a complete working 
visual DSL designer from model data, including the code 
for the domain model and all the code necessary to host 
it in Visual Studio with a design surface.  Again, you'll 
usually want to add custom code for functions that we 
don't generate.

This posting is provided "AS IS" with no warranties, and 
confers no rights.