namespace LawOfDemeter { // Regel 1: Methoden der eigenen Klasse public class A { public void Method1() { Method2(); } public void Method2() { } } // Regel 2: Methoden der Parameter public class B { public void Method(C c) { c.Method(); } } public class C { public void Method() { } } // Regel 3: Methoden assoziierter Klassen public class D { private E e = new E(); public void Method() { e.Method(); } } public class E { public void Method() { } } // Regel 4: Methoden selbst erzeugter Objekte public class F { public void Method() { G g = new G(); g.Method(); } } public class G { public void Method() { } } }