Demeter-Gesetz - Datenobjekte

Ich versuche das Gesetz von Demeter zu befolgen (siehehttp://en.wikipedia.org/wiki/Law_of_Demeter , http://misko.hevery.com/code-reviewers-guide/flaw-digging-into-collaborators/ ) Wie ich die Vorteile sehen kann, bin ich jedoch ein wenig festgefahren, wenn es um Domänenobjekte geht.

Domain-Objekte haben natürlich eine Kette und manchmal ist es notwendig, die Informationen über die gesamte Kette anzuzeigen.

Zum Beispiel ein Einkaufskorb:

Jede Bestellung enthält einen Benutzer, Lieferinformationen und eine Artikelliste. Jede Bestellposition enthält ein Produkt und eine Menge. Jedes Produkt hat einen Namen und einen Preis. Jeder Benutzer enthält einen Namen und eine Adresse

Der Code, der die Bestellinformationen anzeigt, muss alle Informationen über die Bestellung, Benutzer und Produkte enthalten.

Sicherlich ist es besser und wiederverwendbarer, diese Informationen über das Bestellobjekt abzurufen, z. "order.user.address.city" als für einen Code, der höher ist, um Abfragen für alle oben aufgelisteten Objekte durchzuführen, und diese dann separat in den Code weiterzuleiten?

Kommentare / Vorschläge / Tipps sind willkommen!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage