Java

Patterns zum Umgang mit Legacy Code: ServiceLoader

Legacy Code ist Code, der nicht nach aktuellen Massstäben der Software-Entwicklung entwickelt wurde, nicht mehr gewartet wird und häufig nicht oder unzureichend Dokumentiert wird. Aber auch externe, proprietäre closed source Libraries genügen häufig diesen Kriterien. Oftmals wird dieser Code jedoch nach wie vor betrieben und muss auch hin und wieder angepasst werden, z.B. um regulatorischen Anforderungen nachzukommen. Legacy Code kommt häufig in der Form eine CLOBs daher. Eine undefinierte Masse an Codezeilen, von der keiner mehr weiss, was er tut.

Weiterlesen

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.

Weiterlesen