Many of the arguments on this Wiki about whether
LawOfDemeter might be invalid or need to be reformulated seem to me to be based on the original way the
LawOfDemeter was described at
LawOfDemeter, but is that an accurate description of the
LawOfDemeter, or is that someone's particular recipe for implementing it?
I take my understanding of the
LawOfDemeter from
ThePragmaticProgrammer by
AndrewHunt and
DavidThomas, and it says nothing more than to have the minimum number of interactions with outside code necessary to perform the task. The implication is that -how- you accomplish that is a matter of implementation, not definition.
In this light, I humbly suggest that all the discussions about problems and reformulations of the
LawOfDemeter be refactored to be arguments about better and worse strategies for implementing the
LawOfDemeter, and how best to define the minimum number of interactions with outside code necessary to perform a task in a reasonable way.