UML to CSharp module
This generator is written to generate a basic backend system according to the Domain Driven Design principles, published by Eric Evans in his book “Domain Driven Design - Tackling Complexity in the Heart of Software”.
The base model is a UML1.4 class model. A number of stereotypes, tags and assumptions are used for the generation towards C# 2.0, NHibernate v1.2 mapping files, SQL Server DDL and Visual Studio 2005 project and configuration files.
Demonstration
This demo provides a quick tour of the UML to CSharp generative module..
Presentation
Target Architecture
The image below depicts the application architecture towards which the UML model is generated.

Domain model

The sections below briefly explain the transformations
from UML to the elements of the target architecture.
| Source element | Target element |
| UML Model |
|
| Root package with stereotype “domainModule” |
|
| Class with stereotype “entityObject” |
|
| Class with stereotype “valueObject” |
|
| Class with stereotype “enumeration” |
|
Domain Persistence Implementation
| Source element | Target element |
| UML Model |
|
| Root package with stereotype “domainModule” |
|
| Class with stereotype “entityObject” |
|
Resource Layer
| Source element | Target element |
| UML Model |
|
Any Client
| Source element | Target element |
| UML Model |
|
| Class with stereotype “entityObject” |
|
Overall
| Source element | Target element |
| UML Model |
|
The SalesAdministration example
This generator comes with a simple UML model example, called SalesAdministration, stored in the default.uml14 file. This file can be used as a source to generate all the elements listed above. In the generation, a few assumptions are made as to the location and/or existence of certain resources.
These are:
[My Documents]\Visual Studio 2005\Projects
NHibernate_v1.2
bin
…
SalesAdministration
DomainModel
…
SalesAdministration.sln
Planning
Installation
The installation is described on the installing modules page .