Law of Demeter

Architecture 🟡 Mid

Dé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.
#architecture#interview#principle

← → au clavier pour passer d'une fiche à l'autre