---
title: "Comment by Mark on \"Demeter's Law: Don't talk to strangers!\" | Hashnode"
description: "I&#39;ve tried to be really strict about this for a little while, but I found that in some cases it&#39;s just too hard and not really worth the effort. Have ot"
url: "https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0/comment/5d2f138db17fc0c01b7ea9b2"
---

[Discussion](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0)

Comment [Demeter's Law: Don't talk to strangers!](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0)

[Mark](https://hashnode.com/@mverleg)

[Jul 17, 2019](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0/comment/5d2f138db17fc0c01b7ea9b2)

I've tried to be really strict about this for a little while, but I found that in some cases it's just too hard and not really worth the effort.

Have others had the same experience?

I still think it's a good guideline, but I consider it more a "Guideline of Demeter" than "Law of Demeter".

Famous example, is accessing the pages of a book through the book reference really a problem? It's not really an "implementation detail", it's just how books work, shouldn't it be considered part of the API?

[Carlos Caballero](https://hashnode.com/@carlillo)

[Jul 17, 2019](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0/comment/5d2f138db17fc0c01b7ea9b2#reply-5d2f47e0f55547c1319b71c1)

Hi!

In computer science the laws are dangerous. In my opinion, each law/technique should be taken as an advise.

Thanks

[Joseph S Stevens](https://hashnode.com/@josephscottstevens)

[Jul 17, 2019](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0/comment/5d2f138db17fc0c01b7ea9b2#reply-5d2f87f25537f88b7db8b739)

At least, laws and "best practices" are a reasonable starting point \\ safe assumption. But there are certainly cases where "best practices" are abused. Don't repeat yourself is one of the worst offenders in my book. Please don't wire EVERYTHING together. O\_o Obviously, config \\ and settings + constants shouldn't be repeated everywhere. But the number of classes I have seen cobbled together into a super class, in the spirit of DRY. _old man grunt_

[Mark](https://hashnode.com/@mverleg)

[Jul 18, 2019](https://hashnode.com/posts/demeters-law-dont-talk-to-strangers/5d2ed70decb6290c096825b0/comment/5d2f138db17fc0c01b7ea9b2#reply-5d3017ff4187c1d95e103228)

[Carlos Caballero](https://hashnode.com/@carlillo) [Joseph S Stevens](https://hashnode.com/@josephscottstevens) Yeah they're not inviolable Laws of Nature. But some apply more generally than others.

The subset of the Guideline of Demeter that I do adhere more strictly to is to not mutate fields of members of members (or really, it's on the object to not expose things that can mutate their internals).
