DTO : record ou classe ?
On parle souvent des DTO (Data Transfer Object).
Mais on parle moins de la bonne façon de les implémenter.
Petit rappel :
Un DTO permet de transférer les données entre les couches d’une app.
→ Tu évites d’exposer les entités métier
→ Tu retournes uniquement ce qui est nécessaire
→ Tu protèges les infos sensibles
Mais concrètement, tu choisis quoi ?
Une classe ? Un record (immutable) ?
Voici ce que j’applique aujourd’hui :
→ record pour les DTO simples (lecture seule, sans logique)
→ class quand j’ai besoin de validation ou d’un peu de logique
→ Tous mes DTO sont centralisés dans un seul dossier dto/
Résultat :
→ Code plus concis avec les records
→ Moins de boilerplate
→ Immutabilité par défaut
→ Une structure claire et lisible
Le DTO, c’est un outil.
Le bon format dépend du contexte, pas d’une règle figée.
Et toi ?
Tu préfères les records ou tu restes fidèle aux classes ?