You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eine technische Story: Builder für Java DTOs im Backend
Hintergrund
Ist aus der Story #1185 entstanden. Beim fixen der Tests ist aufgefallen, dass das Erstellen der DTOs mit vielen Parametern in den Tests mühsam und sehr unübersichtlich ist. Dies kann man mit Buildern verbessern.
Für die Model Klassen haben wir immer einen Builder. Dies ist sehr nützlich, wenn der Konstruktor für das Objekt viele Parameter hat. Mit dem Builder kann man das Objekt schrittweise aufbauen nur mit den Parametern (Daten), die man auch wirklich braucht. Bei den DTOs (sind als Record modelliert) haben wir das nicht. Es muss jeweils der Konstruktor mit allen Parametern verwendet werden.
Für die Klasse Completed ist das bereits umgesetzt. Da gibt es einen Builder, der bereits in den Tests verwendet wird.
Liste aller DTOs im Backend machen und gerade in dieser Story dokumentieren
Für jedes DTO eine Builder implementieren analog CompletedDtoBuilder.java
Entscheiden bzw abklären, ob man die Builder direkt in die DTOs integrieren will (analog den Buildern in den Modell Klassen) oder als eigene Klassen wie beim CompletedDtoBuilder.java.
Die DTOs in den Test verwenden
Am Schluss sollen in den Tests nur mehr die Builder verwendet werden. Es sollten in den Tests keine Konstruktor Aufrufe (e.g. new CompletedDto(....) ) mehr vorhanden sein.
The text was updated successfully, but these errors were encountered:
Eine technische Story: Builder für Java DTOs im Backend
Hintergrund
Ist aus der Story #1185 entstanden. Beim fixen der Tests ist aufgefallen, dass das Erstellen der DTOs mit vielen Parametern in den Tests mühsam und sehr unübersichtlich ist. Dies kann man mit Buildern verbessern.
Für die Model Klassen haben wir immer einen Builder. Dies ist sehr nützlich, wenn der Konstruktor für das Objekt viele Parameter hat. Mit dem Builder kann man das Objekt schrittweise aufbauen nur mit den Parametern (Daten), die man auch wirklich braucht. Bei den DTOs (sind als Record modelliert) haben wir das nicht. Es muss jeweils der Konstruktor mit allen Parametern verwendet werden.
Für die Klasse Completed ist das bereits umgesetzt. Da gibt es einen Builder, der bereits in den Tests verwendet wird.
(aus CompletedMapperTest.java)
mit Builder:
ohne Builder:
AK
CompletedDtoBuilder.java
The text was updated successfully, but these errors were encountered: