Demeters lag

(Law of Demeter) – princip för systemutveckling, i synnerhet objekt­orien­te­rad: varje del av systemet (varje objekt) ska veta så lite som möjligt om resten av systemet. Man kan se det som en tillämpning av principen need-to-know:

  1. – varje objekt ska bara ha kunskap om de andra objekt som det måste utbyta meddelanden med (dess ”vänner” eller ”grannar”);
  2. – ett objekt ska bara ta emot meddelanden från sina vänner (enligt punkt 1), inte från okända objekt;
  3. – ett objekt ska bara prata med sina vänner.

– Demeters lag formulerades 1987 av Demeterprojektet (länk) vid North­western University (länk) i Evanston i Illinois. Grundtanken är att upp­bygg­naden av varje objekt så mycket som möjligt ska vara oberoende av hur andra objekt är uppbyggda. Det gör det relativt enkelt att byta ut objekt utan att systemet som helhet påverkas. Systemet blir också relativt överskådligt om man tillämpar Demeters lag. Nackdelen är att det blir omständligt att programmera metoder som kräver att ett objekt utbyter långväga med­del­anden. – Demeters lag leder till lös bindning. – De­meter­projektet var uppkallat efter den grekiska gudinnan Demeter.

[lagar] [systemutveckling]