Mixins mit Java
Unter Mixins versteht man zusätzliche Funktionalität, die einer Klasse hinzugefügt werden kann. Sie sind eine spezielle Form der Mehrfachvererbung, bei der Eigenschaften oder Verhalten von mehreren „Eltern“ geerbt werden. Mit Mixins lassen sich zwei Problemgebiete lösen: Man möchte viele Optionale Features für eine Klasse anbieten Man möchte ein bestimmtes Feature für viele verschiedene Klassen anbieten Mit Hilfe von Mixins lassen sich Domain Modelle einfach halten, indem nur die essentiellen Eigenschaften definiert werden und optionale Eigenschaften über Mixins hinzugefügt werden können. Auch lassen sich externe Bibliotheken auf diese Weise erweitern ohne auf dedizierte Extension Points angewiesen zu sein. Weiterhin können Querschnittsfunktionen über Mixins realisiert werden, so dass diese nicht Teil der Typhierarchie und damit des Domänen-Modells sein müssen. Sie stelllen damit eine Alternative zu Aspektorientierter Programming dar. In Java werden seit Version 8 Mixins in Form von default Methoden auf Interfaces unterstützt. Damit können einer Klasse durch Implementierung eines Interfaces mit default Methoden Funktionen hinzugefügt werden.
