Law of Demeter mit Datenmodellobjekten

Ich bin gestern aus dem Urlaub zurück zur Arbeit gekommen, und in unserem täglichen Standup haben meine Teamkollegen erwähnt, dass sie alle Modellobjekte in unserem Java-Code überarbeitet haben, um alle Getter und Setter zu entfernen und die Modellfelder stattdessen zu öffentlichen Objekten zu machen, wobei das Gesetz aufgerufen wurde von Demeter als Grund dafür, weil

Um die Einhaltung des Demeter-Gesetzes zu erleichtern: Ein Modul sollte nicht über die Innereien der 'Objekte' Bescheid wissen, die es manipuliert. Da Datenstrukturen kein Verhalten enthalten, legen sie natürlich ihre interne Struktur offen. In diesem Fall gilt Demeter nicht.

Ich gebe zu, ich musste mein Wissen über die LoD auffrischen, aber für mein Leben kann ich nichts finden, was darauf hindeutet, dass dies im Geiste des Gesetzes liegt. Keiner der Get / Setter in unseren Modellen enthält eine Geschäftslogik. Dies ist seine Rechtfertigung, damit Clients dieser Objekte nicht verstehen müssen, ob in den get / set-Methoden eine Geschäftslogik ausgeführt wird.

ch denke, dies ist ein Missverständnis dessen, was es bedeutet, "internes Wissen über eine Objektstruktur" zu benötigen, oder es zumindest zu wörtlich zu nehmen und dabei eine ziemlich übliche Konvention zu breche

So ist meine Frage, ob es überhaupt Sinn macht, die interne Struktur von Modellobjekten direkt und nicht über Getter / Setter im Namen der LoD verfügbar zu machen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage