Unit Test Contracts mit Default Methoden

Lange Zeit habe ich mir das JUnit 5 Feature Test Interfaces nicht angeschaut, vermutlich weil mir default Methoden in Interfaces noch immer ein wenig suspekt sind. Langsam freunde ich mir mit diesen eigenartigen Schimären an und freue mich, endlich ein schönes Beispiel für Test Interfaces gefunden zu haben.

Das Domain Probe Pattern

Kürzlich las ich bei Martin Fowler einen interessanten Artikel zu einem Design-Pattern von Pete Hodgson. Dazu schossen mir sogleich zwei Ideen durch den Kopf. Zuerst die Frage, warum erst jetzt diese Pattern formuliert wird und gleich darauf der Gedanke, eine meiner Klassen schleunigst umzuschreiben.

Du sprechen ANSEL?

Es ist noch nicht so lange her, da lebte die Computer Industrie in einem Sprachwirrwar biblischen Ausmaßes. Als wäre der Turm zu Babel direkt über den Computerterminals zusammengebrochen, ersannen alle Organisationen und Hersteller ihre eigenen Zeichensatzkodierungen.

Failsafe – Arbeiten mit unsteten Gesellen

Gerade beim Arbeiten mit entfernten Services ist es ein Ärgernis, wenn diese sich flatterhaft verhalten. Der Programmierer ist ein überschaubares, binäres Verhalten seiner verwendeten Helfer gewohnt, sie liefern das korrekte Ergebnis oder einen Fehler.

Befreit die APIs von Nullen

In vielen Schnittstellen werden noch immer null Werte zurück geliefert. Das führt zu aufwendigen Code in der eigenen Anwendung, da alle Rückgabewerte auf null geprüft werden müssen. Dieses Beispiel prüft, ob der Name des Vaters gesetzt ist und nicht leer ist. Dabei müssen die Rückgabewerte zwei mal geprüft werden, da sonst ggf. eine NullPointerException geworfen wird. … Read more

Noch mehr Besucher

Im vorherigen Beitrag wurde das Visitor Pattern auf ein Enum angewendet, um das Enum nicht mit vielen Methoden zu überfrachten. Wie andere Klassen sollte ein Enum nicht gegen die Prinzipien des objektorientierten Designs verstoßen. Die vorgestellte Lösung funktioniert zwar sehr gut, aber was soll der Entwickler machen, wenn neue Klassen die Bühne betreten? Nachdem er also ein … Read more

Zu Besuch bei den Enums

Die Enums in Java sind eine typsichere Alternative zu den früher verwendeten Konstanten. Mit solchen Konstanten hat man die üblichen Probleme, dass man sie überall fehlerhafter Weise einsetzen oder anstelle der Konstanten andere Werte des Typs verwenden kann. Besser also der Einsatz von Enums, die als echter Typ nur die definierten Konstanten zulassen. Enums erlauben … Read more