
Clean Architecture
Багатошарова архітектура, CQRS, MediatR, repository pattern, розділення відповідальностей, тестованість
1Що таке принцип Clean Architecture?
Що таке принцип Clean Architecture?
Відповідь
Clean Architecture організовує код у концентричні шари, де залежності спрямовані лише всередину (до Domain). Шар Domain (сутності, бізнес-правила) не має залежностей від інфраструктури. Зовнішні шари (UI, Database, API) залежать від абстракцій Domain через Dependency Inversion. Це забезпечує тестованість, незалежність від фреймворків і зручність супроводу коду.
2Які основні шари Clean Architecture?
Які основні шари Clean Architecture?
Відповідь
Clean Architecture має 4 основні шари: Domain (сутності, бізнес-правила, інтерфейси repository), Application (use case, DTO, логіка застосунку), Infrastructure (реалізації repository, DbContext, зовнішні сервіси) та Presentation (API controllers, UI). Domain розташований у центрі й ні від чого не залежить. Application залежить від Domain. Infrastructure та Presentation залежать від Application і Domain.
3Що таке патерн CQRS?
Що таке патерн CQRS?
Відповідь
CQRS (Command Query Responsibility Segregation) розділяє операції читання (Queries) і запису (Commands). Commands змінюють стан і повертають void або простий результат. Queries повертають дані, не змінюючи стану. Це розділення дозволяє незалежно оптимізувати читання (Dapper, SQL-подання) та запис (EF Core, агрегати DDD) і масштабувати кожну сторону по-різному.
Яка роль MediatR у Clean Architecture?
Як визначити Command у MediatR?
+17 питань зі співбесід
Інші теми співбесід .NET
Основи C#
LINQ & Delegates
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Серіалізація JSON
Entity Framework Core просунутий
Розширені можливості C#
Logging, Monitoring & Observability
Модульне тестування та xUnit
Інтеграційні тести
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Архітектура мікросервісів
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно