aka LoD
ThePragmaticProgrammer가 준수하는 ComputerProgramming규칙중 하나. OOP스타일의 한가지이다. 일종의 decoupling.
http://www.ccs.neu.edu/home/lieber/LoD.html
냉전시대 스파이를 생각해보자. 그들은 이른바, cells라는 팀을 만들고, 팀내에서 활동한다. 팀내의 인원들은 서로를 잘 알고 있지만, 다른팀에 누가 있는지는 전혀 알 수가 없다. 만일 하나의 팀이 발각되면, 그 팀은 다른팀을 모르기때문에 그 여파는 다른팀에 미치지 못한다. Cells간의 interaction을 최대한 줄이는 것이 전체를 살리는 길이다.
이는 ComputerProgramming에서도 마찬가지이다. 모듈들간의 interaction이 많을수록 전체 시스템은 위험하다. 최대한 독립적으로 동작하는 모듈을 만들어야 한다. (See also Orthogonality)
Minimize coupling between modules.
LawOfDemeter가 잘 지켜진 코드는 UnitTest가 용이하다.