# .NET Design Patterns (.NET) > Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID - 24 questions d'entretien - Senior - [Questions d'entretien: .NET](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien.md) ## 1. 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. ## 2. 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. ## 3. 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. ## 21 questions supplémentaires disponibles - 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 ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien .NET - [Les bases de C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-basics.md): 25 questions, Junior - [LINQ & Delegates](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-linq-delegates.md): 20 questions, Junior - [Essentiels du langage C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-language-essentials.md): 15 questions, Junior - [Fondamentaux ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-fundamentals.md): 18 questions, Junior - [Cycle de vie des requêtes ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-request-lifecycle.md): 20 questions, Junior - [Configuration & Settings](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/configuration-settings.md): 20 questions, Junior - [Cycle de vie de l'application](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/application-lifecycle.md): 20 questions, Junior - [Dependency Injection](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Entity Framework Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/entity-framework-core.md): 25 questions, Confirmé - [Minimal APIs](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/minimal-apis.md): 18 questions, Confirmé - [Développement Web API](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/web-api-development.md): 22 questions, Confirmé - [Async côté ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-aspnet-core.md): 20 questions, Confirmé - [Authentication & Authorization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/authentication-authorization.md): 18 questions, Confirmé - [HttpClient & Networking](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/httpclient-networking.md): 20 questions, Confirmé - [Sérialisation JSON](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/json-serialization.md): 20 questions, Confirmé - [Entity Framework Core avancé](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/ef-core-advanced.md): 25 questions, Confirmé - [Fonctionnalités avancées C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-advanced-features.md): 20 questions, Confirmé - [Clean Architecture](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/clean-architecture.md): 20 questions, Confirmé - [Logging, Monitoring & Observability](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/logging-monitoring.md): 22 questions, Confirmé - [Tests unitaires & xUnit](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/unit-testing-xunit.md): 20 questions, Confirmé - [Tests d'intégration](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/integration-testing.md): 18 questions, Confirmé - [Docker & Containerization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/docker-containerization.md): 16 questions, Confirmé - [NuGet Package Management](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/nuget-package-management.md): 16 questions, Confirmé - [Memory Management & GC](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/memory-management-gc.md): 22 questions, Senior - [Programmation réactive](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/reactive-programming.md): 24 questions, Senior - [Async/await & Patterns](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-await-patterns.md): 26 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité & Best Practices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/security-best-practices.md): 24 questions, Senior - [SignalR & Real-time](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/signalr-realtime.md): 22 questions, Senior - [Architecture Microservices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/microservices-architecture.md): 25 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dotnet-design-patterns