Das Platzieren von Geschäftslogik in einem Setter kann Probleme verursachen, wenn Sie Objekte mit JSon, XML oder einem ORM serialisieren/deserialisieren müssen. Ein Beispiel hierfür ist die Verwendung eines NoSql-Datenspeichers wie einer Dokumentendatenbank oder eines ORM. Einige von diesen (z. B. NHibernate) können so konfiguriert werden, dass sie auf Unterstützungsfelder anstelle des Setter zugreifen.
Ich finde, dass die Verwendung eines öffentlichen Getter und Private Setter zusammen mit einer Methode, um den Wert mit zusätzlicher Logik als erforderlich festzulegen ist ein guter Ansatz. Die meisten Serializer können auf den privaten Setter zugreifen, sodass Sie eine genaue Darstellung des persistenten Objekts erhalten, ohne versehentlich eine Logik auszulösen, die bei der Deserialisierung möglicherweise Werte falsch ändert.
Wenn Sie jedoch nicht glauben, dass jemals eine Serialisierung/Deserialisierung erforderlich sein wird, sollte dies kein Problem sein.
eigentlich redete der Team-Leader darüber, Logik nicht in den Getter-Teil zu bringen! Also refaktoriere ich meine Eigenschaft "Methode extrahieren" während der Aufgabenüberprüfung. –