Arrêtons de créer des interfaces « au cas où »

Blog post cover image
Dans le monde .NET, on nous a tous dit un jour :
Abstrais tout derrière une interface.
Résultat : IOrderService, IEmailService, IPaymentService… et des dizaines de fichiers inutiles. 😅

▸ Le problème

Souvent, chaque interface a une seule implémentation. On fait donc ça 👇
public interface IOrderService { void PlaceOrder(); }
public class OrderService : IOrderService { ... }
➡️ Et on croit avoir « découplé » notre code. Mais en réalité, on a juste dupliqué la complexité.

▸ Pourquoi c'est un anti-pattern

▸ Quand une interface a du sens

▸ Moralité

Créer une interface « au cas où » revient à payer de la dette de complexité tout de suite… pour un scénario hypothétique qui n'arrivera peut-être jamais.
Abstract everything, and you're left with a bunch of nothing.
Derek Comartin

▸ Et toi ?

Tu es dans le camp 🔥 « une interface par service » ou plutôt 🧠 « interfaces quand c'est utile » ?
Dis-moi en commentaire 👇

Does this resonate with your team?

Let's talk about how Atypical Consulting can help you move forward.

Contact me