Separation of Concerns
Architecture 🟢 JuniorDéfinition
Découpé un programme en sections distinctes, chacune traitant une préoccupation spécifique. Minimise le chevauchement de responsabilités.
Analogie
Les rayons d'un supermarché : fruits, viande, boissons — chaque rayon a sa spécialité.
Exemple de code
// Separe: route, validation, business, persistence
router.post('/users', validate(schema), async (req, res) => {
const user = await userService.create(req.body);
res.json(user);
});
Cas d'usage
Fondement de toute architecture en couches : UI, logique, données.
Anti-pattern
Composant qui fait requête HTTP + validation + logique métier + rendu HTML.