
.NET Design Patterns
Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID
1Was ist das Hauptproblem des Singleton-Patterns im modernen .NET mit Dependency Injection?
Was ist das Hauptproblem des Singleton-Patterns im modernen .NET mit Dependency Injection?
Antwort
Das klassische Singleton-Pattern (statische Instanz) steht im Konflikt mit Dependency Injection, da es zu enger Kopplung führt und das Testen erschwert. Im modernen .NET ist es besser, die Service-Lifetime 'Singleton' über DI (services.AddSingleton) zu verwenden, die dieselbe Garantie einer einzigen Instanz bietet und gleichzeitig Injection, Mocking und Testbarkeit ermöglicht. Ein statisches Singleton umgeht den DI-Container und erzeugt versteckte Abhängigkeiten.
2Was ist im Factory-Method-Pattern der Unterschied zwischen Factory Method und Abstract Factory in .NET?
Was ist im Factory-Method-Pattern der Unterschied zwischen Factory Method und Abstract Factory in .NET?
Antwort
Factory Method definiert eine virtuelle Methode zur Erzeugung eines einzelnen Objekttyps (z. B. CreateLogger) und überlässt es Unterklassen zu entscheiden, welche konkrete Klasse instanziiert wird. Abstract Factory definiert eine Schnittstelle zur Erzeugung von Familien verwandter Objekte (z. B. IUIFactory mit CreateButton, CreateTextBox) und ermöglicht es, mehrere kohärente Produkte gemeinsam zu erzeugen. Factory Method konzentriert sich auf ein einzelnes Produkt mit Polymorphismus, Abstract Factory verwaltet mehrere Produkte derselben Familie.
3Was ist der Hauptvorteil des Builder-Patterns in .NET zum Erstellen komplexer Objekte mit vielen optionalen Parametern?
Was ist der Hauptvorteil des Builder-Patterns in .NET zum Erstellen komplexer Objekte mit vielen optionalen Parametern?
Antwort
Das Builder-Pattern vermeidet teleskopierende Konstruktoren (mehrere Überladungen mit verschiedenen Parameterkombinationen), indem es eine fluente Schnittstelle bereitstellt, um das Objekt Schritt für Schritt aufzubauen. Es ermöglicht das Erstellen komplexer Objekte mit optionalen Parametern auf lesbare und wartbare Weise, anders als Konstruktoren mit mehr als 10 Parametern. Im modernen C# können init-Properties und Records den Builder für einfache Fälle ersetzen, doch der Builder bleibt nützlich für komplexe Validierung oder mehrstufige Konstruktion.
Was ist das Single-Responsibility-Prinzip (SRP) in SOLID und wie wendet man es in .NET an?
Was ist das Open/Closed-Prinzip (OCP) in SOLID und wie implementiert man es mit Interfaces in .NET?
+21 Interview-Fragen
Weitere .NET-Interviewthemen
C#-Grundlagen
LINQ & Delegates
C#-Sprachgrundlagen
ASP.NET Core Grundlagen
ASP.NET Core Request-Lebenszyklus
Configuration & Settings
Anwendungslebenszyklus
Dependency Injection
Entity Framework Core
Minimal APIs
Web-API-Entwicklung
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
JSON-Serialisierung
Entity Framework Core fortgeschritten
Erweiterte C#-Funktionen
Clean Architecture
Logging, Monitoring & Observability
Unit-Tests & xUnit
Integrationstests
Docker & Containerization
NuGet Package Management
Memory Management & GC
Reaktive Programmierung
Async/await & Patterns
Performance-Optimierung
Sicherheit & Best Practices
SignalR & Echtzeit
Microservices-Architektur
Meistere .NET für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten