Prawo Demeter

Prawo Demeter (ang. Law of Demeter [LoD]) znane także jako Zasada minimalnej wiedzy (ang. Principle of Least Knowledge) zostało sformułowane przez Iana Hollanda w 1987 roku na Northeastern University. Zastosowane do programowania obiektowego brzmi następująco:

Metoda danej klasy może odwoływać się jedynie do:

  • metod tej samej klasy
  • pól (i ich metod) tej samej klasy
  • parametrów (i ich metod) przekazanych do niej
  • obiektów (i ich metod), które sama stworzy

Zalety

  • zmniejszenie zależności
  • kod wywołujący daną metodę nie musi znać struktury innych obiektów
  • zmiany w innych obiektach nie wymagają zmiany metody
  • zwiększenie łatwości utrzymania kodu

Wady

  • możliwość powstania nadmiernej liczby metod, których jedynym zadaniem jest delegowanie wywołania metody

Leave a Reply