.NET

.NET Design Patterns

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

24 gespreksvragen·
Senior
1

Wat is het belangrijkste probleem van het Singleton-patroon in modern .NET met Dependency Injection?

Antwoord

Het klassieke Singleton-patroon (statische instantie) botst met dependency injection omdat het sterke koppeling veroorzaakt en testen bemoeilijkt. In modern .NET kun je beter de service-lifetime 'Singleton' via DI gebruiken (services.AddSingleton), die dezelfde garantie van een enkele instantie biedt en tegelijk injection, mocking en testbaarheid mogelijk maakt. Een statische Singleton omzeilt de DI-container en creëert verborgen afhankelijkheden.

2

Wat is in het Factory Method-patroon het verschil tussen Factory Method en Abstract Factory in .NET?

Antwoord

Factory Method definieert een virtuele methode om één type object te maken (bijv. CreateLogger), waarbij subklassen bepalen welke concrete klasse wordt geïnstantieerd. Abstract Factory definieert een interface om families van gerelateerde objecten te maken (bijv. IUIFactory met CreateButton, CreateTextBox), zodat meerdere samenhangende producten samen kunnen worden gemaakt. Factory Method richt zich op één product met polymorfisme, terwijl Abstract Factory meerdere producten uit dezelfde familie beheert.

3

Wat is het belangrijkste voordeel van het Builder-patroon in .NET voor het maken van complexe objecten met veel optionele parameters?

Antwoord

Het Builder-patroon vermijdt telescoperende constructors (meerdere overloads met verschillende parametercombinaties) door een vloeiende interface te bieden om het object stap voor stap op te bouwen. Het maakt het mogelijk om complexe objecten met optionele parameters op een leesbare en onderhoudbare manier te maken, anders dan constructors met meer dan 10 parameters. In modern C# kunnen init-properties en records Builder vervangen voor eenvoudige gevallen, maar Builder blijft nuttig voor complexe validatie of constructie in meerdere stappen.

4

Wat is het Single Responsibility Principle (SRP) in SOLID en hoe pas je het toe in .NET?

5

Wat is het Open/Closed-principe (OCP) in SOLID en hoe implementeer je het met interfaces in .NET?

+21 gespreksvragen

Beheers .NET voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis