デメテルの法則
オブジェクトは、自分自身・自分のフィールド・引数・自分で生成したオブジェクトのメソッドだけを呼ぶべきだ。a.b().c().d()のような「列車事故」型の連鎖は避ける。
1987年にノースイースタン大学で(Demeterプロジェクトのために)定式化された。流れるようなAPIやORMのビルダーなどの連鎖はしばしばこの法則を破るが、それは許容される。法則が問題にするのは、他のオブジェクトの内部構造をさらけ出すことだからだ。Userを受け取るメソッドがuser.getAddress().getCity().getZip()を呼ぶと、コードがオブジェクトグラフ全体に結びついてしまう。郵便番号だけを渡すほうがよい。