Kategorie: Design-Pattern

Das Visitor Pattern mit Default Methoden

Bei jedem Beitrag zum Visitor Pattern habe ich die Vermutung, es wird wohl der letzte zum Thema sein. Aber nur knapp drei Monate nach „Kalenderspielereien mit Java – iCalendar“ folgt schon ein neuer Beitrag zu diesem Design-Pattern.

Weiterlesen

Blättern mit Spring HATEOAS

In den Beiträgen REST in Peace und REST heißt HATEOAS wurde schon auf die Möglichkeiten des HATEOAS Patterns hingewiesen. Die Verlinkung von Resourcen nutzen um innerhalb der Client Anwendung das notwendige Wissen um die Server API zu reduzieren, entkoppelt Systeme und vereinfacht die Entwicklung und Wartung. Auch in diesem Beitrag wird es um die Implementierung im Stammbaum Projekt gehen. Das Projekt stellt einen Endpoint

Weiterlesen

Kalenderspielereien mit Java – iCalendar

Neue Anforderungen und Anwendungsfälle für selbstgeschrieben Bibliotheken ergeben sich häufig in Gesprächen mit Kollegen. In diesem Fall benötigte der Kollege eine Feiertagsliste für seinen Kalender. Die Bibliothek zur Feiertagsberechnung war für sein Problem unzureichend.

Weiterlesen
Pyramide

Immutables

In der objektorientierten Softwareentwicklung können Objekte in zwei unterschiedliche Kategorien eingruppiert werden. Entweder sie sind nicht veränderbar (immutable) oder veränderbar (mutable).
Diese Unterscheidung hat nicht nur eine philosophische Größe, sie zeigt auch Konsequenzen in der tagtäglichen Programmierung. Der Großteil der Klassen, mit dem der Entwickler in Berührung kommt sind Mutables.

Weiterlesen

Kalenderspielereien mit Java – I18N

Die ersten drei Beiträge dieser Reihe handelten von einer Java API zur Feiertagsberechnung. In diesem Beitrag geht es um eine nachtragliche Verbesserung der Internationalisierung (I18N) und der minimalinvasiven Implementierung mit Hilfe des Decorator Design-Pattern.

Weiterlesen

Sortieren auf Teufel komm raus

Kaum ein Bereich in der Software Entwicklung gebiert so furchtbare Töchter wie die Sortierung. Obwohl die Java Standard Bibliothek viele wunderbare Klassen bereitstellt, finden sich immer wieder Programmierer, die ihre eigenen Holzwege schaffen.

Weiterlesen

Hamcrest Matcher Generator (Teil 2)

Im vorherigen Beitrag wurde die grobe Struktur eines Generators für Hamcrest Matcher vorgestellt. In diesem Beitrag vervollständigen wir den Entwurf, in dem die losen Enden verknüpft und die tatsächlichen Matcher-Klassen generiert werden.

Weiterlesen
Generatorhalle

Hamcrest Matcher Generator

Wer lieber mit Hamcrest arbeitet, muss auf solch ein Feature nicht zwangsläufig verzichten. Wie ein eigener Assertion Generator für Hamcrest erstellt werden kann, wird in diesem und weiteren Beiträgen erläutert.

Weiterlesen
alte Fabrikhalle

Besucher in alten Gemäuern

In diesem Beitrag geht es um das Visitor-Pattern, eines meiner liebsten Design Pattern. In den Beiträgen Zu Besuch bei den Enums und Noch mehr Besucher habe ich die Anwendung des Visitor-Pattern auf Enum Typen beleuchtet. In diesem Beitrag wenden wir uns der Legacy Software zu.

Weiterlesen

Autokonfiguration in Spring Boot

Eines der interessantesten Features von Spring Boot bemerkt man immer erst dann, wenn es mal nicht da ist. Im Beitrag Frontend Validierung mit Spring Boot (Teil 2) habe ich ein kleinen Framework vorgestellt, das man in eigene Applikationen einbinden kann. Mein Erstaunen war groß, als es gleich beim ersten Mal nicht funktionierte.

Weiterlesen