Law of Demeter
Architecture 🟡 MidDéfinition
Un objet ne devrait parler qu'a ses amis proches, pas aux amis de ses amis. Évite les chaînés d'appels (train wreck) qui créent du couplage profond.
Analogie
Au restaurant, tu parles au serveur, pas directement au cuisinier ni au fournisseur du cuisinier.
Exemple de code
// Mauvais (train wreck):
user.getAddress().getCity().getZipCode()
// Bon:
user.getZipCode() // delegation interne
Cas d'usage
Réduire le couplage entre objets et rendre le code plus résilient aux changements.
Anti-pattern
Chaînés de getters qui exposent la structure interne de tout le graphe d'objets.