# 4 ~ Maîtriser le couplage et la cohésion

# 💡 En un mot

**Un bon design vise un couplage faible et une cohésion forte.**

## 🎯 Ce que cela garantit ✅

- 🧩 Modules indépendants
- 🔄 Code évolutif
- 🧪 Tests plus simples

## 🎯 Ce que cela n'est pas ❌

- Multiplier les fichiers inutilement
- Complexifier l'architecture

---

## ❌ Mauvais (couplage fort)

```js
class PaymentService {
  constructor() {
    this.gateway = new StripeGateway();
  }
}
```

## ✅ Bon (couplage faible)

```js
class PaymentService {
  constructor(gateway) {
    this.gateway = gateway;
  }
}
```

### 👉 Pourquoi ?

- On peut remplacer Stripe facilement
- Meilleure flexibilité