Oct 032008
 

Durch zeitgesteuerte Aktionen kann ein Softwaresysteme bestimmte Anforderungen umsetzen. Zum Beispiel könnte eine Anforderung sein, dass eine Applikation jede Nacht bestimmte Datenbereinigungen durchführt. Bei OpenWishes prüfen wir beispielsweise periodisch, ob Geburtstagserinnerungen per E-Mail versendet werden müssen. Dies sind natürlich nur triviale Beispiele. Der Faktor Zeit kann nicht nur Aktionen auslösen, sondern auch das Verhalten von Geschäftslogik beeinflußen. Beispielsweise kann der Kunde im Support-Portal nach Ablauf der Garantiezeit eines gekauften Artikels keinen Reklamationsvorgang mehr einleiten.

Continue reading »

Jul 172007
 

Das Singleton-Pattern – meiner Erfahrung nach, ein sehr häufig verwendetes Pattern, welches nahezu jeder Entwickler in seinem Wortschatz hat. Die Implementierung des Singleton-Patterns für eine bestimmte Klasse sieht vor, dass eine statisches Feld in der Klassen die Referenz der einzigen Instanz derselben Klasse speichert. Eine Methode “getInstance” liefert diese Referenz zurück und instanziiert falls nötig die Klasse. Der dazu notwendige Code muss jedes mal von Hand implementiert werden. Mit AspectJ und einer Java Annotation soll das Erstellen von Singletons vereinfacht werden. Im folgenden wird eine Lösung vorgestellt mit der eine beliebige Klasse zum Singleton gemacht wird, indem diese die Annotation “@Singleton” erhält. Fortan liefert das Instanziieren der Klasse (“new”) immer ein und dieselbe Instanz. Continue reading »