# 5 ~ Séparer les responsabilités (Separation of Concerns)

# 💡 En un mot

**Séparer les responsabilités évite qu'un module fasse tout.**

## 🎯 Ce que cela garantit ✅

- 📦 Code clair
- 🔧 Maintenance facilitée
- 👥 Collaboration plus simple

## 🎯 Ce que cela n'est pas ❌

- Ajouter des couches inutiles
- Sur-architecturer

---

## ❌ Mauvais

```js
app.post('/order', async (req, res) => {
  // validation
  // calcul prix
  // sauvegarde DB
  // envoi email
});
```

## ✅ Bon

```js
app.post('/order', validateOrder, orderController);

function orderController(req, res) {
  orderService.create(req.body);
}
```

### 👉 Pourquoi ?

- Chaque couche a un rôle précis