law of Demeter
En d'autres termes
loi de Demeter
Définition
Principe de prudence en matière de programmation orientée objet (POO) consistant à limiter la dépendance des méthodes vis à vis du modèle en général.
Le résumé en est Do not talk to strangers
(ne pas parler aux étrangers).
Plus précisément, à l'intérieur d'une méthode, un objet ne peut envoyer de messages qu'à un nombre limité d'autres objets:
- Un paramètre de la méthode elle-même, y compris
l'objet initial pour lequel la méthode est invoquée
(variable
this
en C++,self
en Object Pascal/ Delphi Pascal- Un objet global, pour des raisons pragmatiques
- Un objet immédiat, calculé ou stocké
- Un objet renvoyé par une méthode appelée sur l'objet initial, et en particulier un attribut de l'objet initial
- Un élément d'une collection attribut de l'objet initial
- Un objet créé par la méthode
Le but recherché en appliquant la loi de Demeter est de préserver la stabilité du code en limitant la portée des dépendances. Elle permet d'éviter un effet papillon, par lequel une modification mineure dans une structure lointaine brise une fonctionnalité apparemment sans aucune relation.
La même démarche, dans le monde des services Web, se retrouve dans le style REST de création d'API.
Epoque du terme
1987