Loi de Déméter
Un objet ne devrait appeler que des méthodes sur lui-même, ses champs, ses paramètres, ou des objets qu'il crée — pas des chaînes façon « train fantôme » comme a.b().c().d().
Formulée à la Northeastern University en 1987 (pour le projet Demeter). Souvent enfreinte par les API fluides et les chaînes (builders d'ORM), ce qui reste acceptable — la loi porte sur le fait de ne pas exposer la structure interne d'objets étrangers. Passer un User à une méthode qui appelle ensuite user.getAddress().getCity().getZip() couple le code à tout le graphe d'objets. Mieux : donner à la méthode juste le code postal.