Prawo Demeter ( (LoD)) inaczej Zasada minimalnej wiedzy lub Reguła ograniczania interakcji () zasada projektowania oprogramowania (w szczególności projektowania w językach obiektowych), która w skrócony i nieco nieformalny sposób jest ujmowana: „rozmawiaj tylko z (bliskimi) przyjaciółmi”.
Treść W pełnej formie mówi ono, iż metoda danego obiektu może odwoływać się jedynie do metod należących do: tego samego obiektu, dowolnego parametru przekazanego do niej, dowolnego obiektu przez nią stworzonego, dowolnego składnika klasy, do której należy dana metoda.
Historia Prawo Demeter zostało sformułowane przez Iana Hollanda w 1987 roku na Northeastern University podczas pracy nad projektem o tej samej nazwie. W roku 1988 zostało zaprezentowane na konferencji OOPSLA w wystąpieniu Karla J. Lieberherr, Ian M. Holland, Arthur J. Riel Object-Oriented Programming: An Objective Sense of Style.
Zalety Stosowanie prawa Demeter prowadzi do zmniejszenia zależności. Kod wywołujący daną metodę nie musi znać struktury obiektu, na rzecz którego wywołuje ją. Nie musi również wiedzieć jaki faktycznie obiekt realizuje daną operację. Dzięki temu zmiany tej struktury nie wymagają zmian klienta używającego tej metody.
Zwiększa się zatem łatwość utrzymania kodu.
Wady Ścisłe stosowanie prawa Demeter może prowadzić do powstania wielu metod, których jedyną odpowiedzialnością jest delegowanie wykonania operacji do składowej tego obiektu.
Ponadto może prowadzić do nadmiernego rozrastania się interfejsu obiektu, z poziomu którego dostępne są operacje.
Zobacz też DRY KISS Worse is Better
Przypisy
Linki zewnętrzne Object-Oriented Programming: An Objective Sense of Style
Kategoria:Żargon informatyczny