The Law of Demeter doesn't mean one dot

You’ve probably heard about that 30-year-old Law of Demeter (LoD). Someone asked me recently what I think about it. And not just what I think, but how it is possible to keep objects small and obey the LoD. According to the law, we’re not allowed to do something like:

book.pages().last().text()

Instead, we’re supposed to go with:

book.textOfLastPage()

It puzzled me, because I strongly disagree. I believe the first construct is perfectly valid in OOP. So I’ve done some research to find out whether this law is really a law. What I found out is that the law is perfect, but its common understanding in the OOP world is simply wrong (not surprisingly).

App Architecture
Software Quality
Cloud Computing
Security
SearchAWS
Close