Law of Demeter

Architecture 🟡 Mid

Definition

Un objet ne devrait parler qu'a ses amis proches, pas aux amis de ses amis. Evite les chaines d'appels (train wreck) qui creent 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

Reduire le couplage entre objets et rendre le code plus resilient aux changements.

Anti-pattern

Chaines de getters qui exposent la structure interne de tout le graphe d'objets.
#architecture#interview#principle