hibiscus icon indicating copy to clipboard operation
hibiscus copied to clipboard

Builder für Abfrage von Auftragslisten (zu 800990c)

Open ruderphilipp opened this issue 3 years ago • 1 comments

Durch das Builder-Pattern können die technischen Details der fachlichen Businesslogik versteckt/ gekapselt werden. So wird ein einheitliches Abstraktionsniveau ("Flughöhe") innerhalb der Methode erreicht.

In Commit 800990c wurden in drei Klassen die Methode getList um eine Ausgabe auf der Statusleiste ergänzt. Hierbei fällt auf, dass diese drei Methoden zu 95% identisch sind (nur der Textfilter ist zusätzlich in AbstractSepaSammelTransferList).

Diese Redundanz kann durch den Einsatz des Builders deutlich reduziert werden. Die Zentralisierung senkt die Fehleranfälligkeit (falls eine Implementierung bei Anpassungen vergessen wird) und die Kapselung erhöht die Verständlichkeit (da andere Abstraktionsebene).

ruderphilipp avatar Feb 07 '22 11:02 ruderphilipp

AbstractSammelTransferList existiert nur noch aus historischen Gründen, damit man sich im Archiv im Menü unter "Hibiscus->Archiv" noch die alten Aufträge aus der Vor-SEPA-Zeit anschauen kann. Der Code wir irgendwann ohnehin gelöscht und muss nicht mehr refactored werden. Damit bleiben nur noch AbstractTransferList und AbstractSepaSammelTransferList. Dafür tut's auch eine statische Methode in einer Util-Klasse a la KontoUtil, UmsatzUtil. Mit dem Builder werden aus 50 gesparten Zeilen 350 neue.

willuhn avatar Feb 07 '22 12:02 willuhn