Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We see that only part of the code is domain-specific, but it will be entangled with other code. When writing code by hand, you combine domain-specific and knowledge of coding conventions and patterns. The idea behind EMF, and model-driven development in general, is to separate the domain knowledge from the coding knowledge. The domain knowledge is captured in a domain model, while the coding knowledge (conventions, patterns, architecture, ...) is part of the framework and tools, using a combination of code generation and generic and so-called reflective code. EMF and related projects supports the following out-of-the-box:

  • generate classes with accessor and mutator methods
  • prevents creation of illegal or inconsistent object structures
  • a validation mechanism that report which standard and custom constraints have been violated
  • generic serialisation of domain data, using various popular formats
  • generic and custom editors for your domain data

This relieves the developer from a lot of tedious work, but requires stronger strong modelling skills and an understanding of how the framework utilises the model. Once mastered, it provides opportunities for developing with greater agility, efficiency and quality.

...