Hallo Zusammen,
Ich bin heute auf folgende Neuerung mit Shopware 6.6.3.0 aufmerksam gemacht worden:
Ich mag die grundlegende Idee, dass man keine EntityDefinition mehr braucht und die Felder direkt in der Entity selbst definieren kann.
Ich bin allerdings überhautpt kein Fan von folgendem Absatz:
„With this new pattern, we removed the need for getter and setter methods. The properties are public and can be accessed directly“
In welcher guten OOP sind Attribute direkt aufrufbar?
Getter/Setter haben einige Vorteile:
- Getter und Setter können eine Validierung enthalten, Felder nicht
- mit Getter-Methoden kann die Unterklasse der gewünschten Klasse erhalten werden
- Getter und Setter sind polymorph, Felder sind es nicht
- Das Debugging/Die Fehlersuche kann viel einfacher sein, da der Breakpoint innerhalb einer Methode und nicht an allen Referenzen des jeweiligen Feldes platziert werden kann
- Man kann Implementierungsänderungen verbergen
Meinungen der Community zu dem Thema?
Welche Beweggründe gab es seitens Shopware für diese Änderung?
Viele Grüße
Dennis