Demeters lag

(Law of Demeter) – princip för systemutveckling, i synnerhet objektorienterad: 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 Northwestern University (länk) i Evanston i Illinois. Grundtanken är att uppbyggnaden 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 meddelanden. – Demeters lag leder till lös bindning. – Demeterprojektet var uppkallat efter den grekiska gudinnan Demeter. – Läs också om Unixfilosofin.

[lagar] [systemutveckling] [ändrad 23 december 2017]