Demeter Kanunu (Law of Demeter)
"Bir nesne yalnızca yakın arkadaşlarıyla etkileşime girmeli, yabancılarla konuşmamalıdır."
Açıklama:
En Az Bilgi prensibi olarak da bilinir. Bir modül veya nesne, işini halletmek için başka bir nesnenin iç yapısını kurcalamamalıdır.
Kod Örneği:
// Anti-Pattern: Yabancının yabancısıyla konuşmak (Train Wreck)
kullanici.getHesap().getBanka().getBakiye().cikar(100);
// Demeter'e Uygun: Sadece arkadaşla konuşmak
kullanici.hesaptanParaCek(100);
Nasıl Uygulanır?
Zincirleme çağrılardan (a.getB().getC().doSomething()) kaçının. Bu durum bileşenleri birbirine sıkı sıkıya bağlar (Tight Coupling). A, B'ye; B de C'ye komut vermelidir.