Friday, April 12, 2013

Whole Platform hands-on session at CG2013

The main subject of the session was the demonstration of a DSL focused on facilitating the introduction of domain abstractions into an existing code base.

We started by showing a few examples of the Patterns DSL applied to different domains such as JavaFX, code reuse, SWT, and GEF. In a few of them we completely replaced the underling code while in others we only abstracted parts of it.

JavaFX code abstracted
JavaFX patterns

Patterns and Models abstracted

Reuse patterns

SWT patterns

GEF code abstracted
GEF patterns

During the hands-on part of the session we started from scratch to introduce abstraction into a Java code base.
Using a set of Java classes we built an artifacts model representing our modeled starting point.
Then we applied a few refactoring such as "Introduce Patterns in Pattern Language", "Extract Patterns", "Extract scattered Pattern" to progressively gain the ability to use in our model patterns like "Property", "JavaBean", "JavaBeanModel", and "JavaProject".
First pattern introduced

Java Beans patterns

Java code without and with new abstractions 

No comments:

Post a Comment