Au-delà des patterns GoF, le code .NET « propre » repose sur quelques réflexes idiomatiques. En voici quatre, expliqués comme SOLID.
Deux idiomes qui changent la façon d'écrire du C# : à gauche, on reçoit ses dépendances au lieu de les fabriquer ; à droite, on renvoie l'échec comme une valeur au lieu de le lancer.
Le service dépend de l'interface, pas du concret : on remplace l'implémentation (tests, autre BDD) sans le toucher.
L'échec attendu devient une valeur explicite, pas une exception : le compilateur force à traiter les deux cas.
L'injection de dépendances inverse le contrôle : une classe reçoit ses dépendances (via le constructeur) au lieu de les créer — d'où un code testable et configurable. Le pattern Result, lui, modélise l'échec attendu comme une valeur, en gardant les exceptions pour l'imprévu.
Pour chaque situation, quel pattern répond le mieux au besoin ?