.NET

.NET Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID

24 Interview-Fragen·
Senior
1

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.

2

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.

3

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.

4

Was ist das Single-Responsibility-Prinzip (SRP) in SOLID und wie wendet man es in .NET an?

5

Was ist das Open/Closed-Prinzip (OCP) in SOLID und wie implementiert man es mit Interfaces in .NET?

+21 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten