Tell, Don't Ask

Architecture 🟡 Mid

Définition

Dis a un objet ce qu'il doit faire au lieu de lui demander son état puis décider a sa place. Favorise l'encapsulation du comportement.

Analogie

Dire au taxi 'emmené-moi a l'aéroport' au lieu de lui demander la carte et conduire toi-même.

Exemple de code

// Ask (mauvais):
if (account.getBalance() >= amount) account.setBalance(...);
// Tell (bon):
account.withdraw(amount); // la logique est interne

Cas d'usage

Éliminer les Anemic Domain Models en mettant la logique dans les objets du domaine.

Anti-pattern

Getters/setters partout avec la logique métier dans les services.
#architecture#interview#principle

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