
.NET Design Patterns
Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID
1Quel est le principal problème du pattern Singleton en .NET moderne avec Dependency Injection ?
Quel est le principal problème du pattern Singleton en .NET moderne avec Dependency Injection ?
Réponse
Le pattern Singleton classique (instance statique) entre en conflit avec l'injection de dépendances car il crée un couplage fort et rend les tests difficiles. En .NET moderne, il est préférable d'utiliser le service lifetime 'Singleton' via DI (services.AddSingleton), qui offre les mêmes garanties d'instance unique tout en permettant l'injection, le mocking et la testabilité. Le Singleton statique contourne le conteneur DI et crée des dépendances cachées.
2Dans le pattern Factory Method, quelle est la différence entre Factory Method et Abstract Factory en .NET ?
Dans le pattern Factory Method, quelle est la différence entre Factory Method et Abstract Factory en .NET ?
Réponse
Factory Method définit une méthode virtuelle pour créer un seul type d'objet (ex: CreateLogger), permettant aux sous-classes de décider quelle classe concrète instancier. Abstract Factory définit une interface pour créer des familles d'objets liés (ex: IUIFactory avec CreateButton, CreateTextBox), permettant de créer plusieurs produits cohérents ensemble. Factory Method se concentre sur un seul produit avec polymorphisme, Abstract Factory gère plusieurs produits d'une même famille.
3Quel est l'avantage principal du pattern Builder en .NET pour créer des objets complexes avec de nombreux paramètres optionnels ?
Quel est l'avantage principal du pattern Builder en .NET pour créer des objets complexes avec de nombreux paramètres optionnels ?
Réponse
Le pattern Builder évite les constructeurs télescopiques (multiples overloads avec différentes combinaisons de paramètres) en fournissant une interface fluide pour construire l'objet étape par étape. Il permet de créer des objets complexes avec des paramètres optionnels de manière lisible et maintenable, contrairement à des constructeurs avec 10+ paramètres. En C# moderne, les init properties et records peuvent remplacer Builder pour les cas simples, mais Builder reste utile pour la validation complexe ou la construction multi-étapes.
Qu'est-ce que le principe de Single Responsibility (SRP) en SOLID et comment l'appliquer en .NET ?
Qu'est-ce que le principe Open/Closed (OCP) en SOLID et comment l'implémenter avec des interfaces en .NET ?
+21 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement