code-generationgeneratormdd

Is implementing a code generator a sort of model driven design/ model driven software developement?


Is implementing a code generator a sort of model driven design/ model driven software developement or are both methods completely different?

For instance, when you use the Entity Framework code generation. Is this a kind of model driven design?

Does it makes any differents on using a model or a meta model when I use the term model driven design?

No more answers?


Solution

  • Using a code generator is a form of model driven design, when you create an abstract model first (for example, some kind of UML diagram), and use this model as as base for your code generation. This kind of workflow is also known as forward engineering.

    On the other hand, when using a code generator that transforms between same levels of abstraction (for example, one that transforms one programming language into another), IMHO that has nothing to do with model driven design.