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