# Clean Architecture (.NET) > Gelaagde architectuur, CQRS, MediatR, repository pattern, scheiding van verantwoordelijkheden, testbaarheid - 20 gespreksvragen - Mid-Level - [Gespreksvragen: .NET](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen.md) ## 1. Wat is het principe van Clean Architecture? **Antwoord** Clean Architecture organiseert code in concentrische lagen waarbij afhankelijkheden alleen naar binnen wijzen (richting de Domain). De Domain-laag (entiteiten, bedrijfsregels) heeft geen infrastructuurafhankelijkheden. Buitenste lagen (UI, Database, API) zijn via Dependency Inversion afhankelijk van de abstracties van de Domain. Dit zorgt voor testbaarheid, framework-onafhankelijkheid en onderhoudbaarheid van de code. ## 2. Wat zijn de belangrijkste lagen van Clean Architecture? **Antwoord** Clean Architecture heeft 4 hoofdlagen: Domain (entiteiten, bedrijfsregels, repository-interfaces), Application (use cases, DTO's, applicatielogica), Infrastructure (repository-implementaties, DbContext, externe services) en Presentation (API-controllers, UI). Domain staat in het midden en is van niets afhankelijk. Application is afhankelijk van Domain. Infrastructure en Presentation zijn afhankelijk van Application en Domain. ## 3. Wat is het CQRS-patroon? **Antwoord** CQRS (Command Query Responsibility Segregation) scheidt lees- (Queries) en schrijfbewerkingen (Commands). Commands wijzigen de status en geven void of een eenvoudig resultaat terug. Queries geven data terug zonder de status te wijzigen. Deze scheiding maakt onafhankelijke optimalisatie van leesbewerkingen (Dapper, SQL-views) en schrijfbewerkingen (EF Core, DDD-aggregaten) mogelijk, en het verschillend schalen van elke kant. ## Nog 17 vragen beschikbaar - Wat is de rol van MediatR in Clean Architecture? - Hoe definieer je een Command in MediatR? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere .NET-sollicitatieonderwerpen - [C#-basisbeginselen](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-basics.md): 25 vragen, Junior - [LINQ & Delegates](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-linq-delegates.md): 20 vragen, Junior - [Essentials van de C#-taal](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-language-essentials.md): 15 vragen, Junior - [ASP.NET Core-grondbeginselen](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/aspnet-core-fundamentals.md): 18 vragen, Junior - [Levenscyclus van requests in ASP.NET Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/aspnet-core-request-lifecycle.md): 20 vragen, Junior - [Configuration & Settings](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/configuration-settings.md): 20 vragen, Junior - [Levenscyclus van de applicatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/application-lifecycle.md): 20 vragen, Junior - [Dependency Injection](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/dependency-injection.md): 24 vragen, Mid-Level - [Entity Framework Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/entity-framework-core.md): 25 vragen, Mid-Level - [Minimal APIs](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/minimal-apis.md): 18 vragen, Mid-Level - [Web API-ontwikkeling](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/web-api-development.md): 22 vragen, Mid-Level - [Async in ASP.NET Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/async-aspnet-core.md): 20 vragen, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/authentication-authorization.md): 18 vragen, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/httpclient-networking.md): 20 vragen, Mid-Level - [JSON-serialisatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/json-serialization.md): 20 vragen, Mid-Level - [Entity Framework Core gevorderd](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/ef-core-advanced.md): 25 vragen, Mid-Level - [Geavanceerde C#-functies](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-advanced-features.md): 20 vragen, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/logging-monitoring.md): 22 vragen, Mid-Level - [Unit Testing & xUnit](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/unit-testing-xunit.md): 20 vragen, Mid-Level - [Integratietests](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/integration-testing.md): 18 vragen, Mid-Level - [Docker & Containerization](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/docker-containerization.md): 16 vragen, Mid-Level - [NuGet-pakketbeheer](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/nuget-package-management.md): 16 vragen, Mid-Level - [Memory Management & GC](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/memory-management-gc.md): 22 vragen, Senior - [Reactief programmeren](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/reactive-programming.md): 24 vragen, Senior - [Async/await & Patterns](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/async-await-patterns.md): 26 vragen, Senior - [.NET Design Patterns](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/dotnet-design-patterns.md): 24 vragen, Senior - [Prestatieoptimalisatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Beveiliging & Best Practices](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/security-best-practices.md): 24 vragen, Senior - [SignalR & realtime](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/signalr-realtime.md): 22 vragen, Senior - [Microservices-architectuur](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/microservices-architecture.md): 25 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/clean-architecture