.NET

Clean Architecture

계층형 아키텍처, CQRS, MediatR, repository pattern, 관심사의 분리, 테스트 용이성

20 면접 질문·
Mid-Level
1

Clean Architecture 원칙이란 무엇입니까?

답변

Clean Architecture는 코드를 동심원 형태의 계층으로 구성하며, 의존성은 오직 안쪽(Domain 방향)으로만 향합니다. Domain 계층(엔티티, 비즈니스 규칙)은 인프라에 대한 의존성이 없습니다. 외부 계층(UI, Database, API)은 Dependency Inversion을 통해 Domain의 추상화에 의존합니다. 이를 통해 테스트 용이성, 프레임워크 독립성, 코드 유지보수성이 보장됩니다.

2

Clean Architecture의 주요 계층은 무엇입니까?

답변

Clean Architecture에는 4개의 주요 계층이 있습니다: Domain(엔티티, 비즈니스 규칙, repository 인터페이스), Application(use case, DTO, 애플리케이션 로직), Infrastructure(repository 구현, DbContext, 외부 서비스), Presentation(API controller, UI). Domain은 중심에 있으며 아무것도 의존하지 않습니다. Application은 Domain에 의존합니다. Infrastructure와 Presentation은 Application과 Domain에 의존합니다.

3

CQRS 패턴이란 무엇입니까?

답변

CQRS(Command Query Responsibility Segregation)는 읽기 작업(Queries)과 쓰기 작업(Commands)을 분리합니다. Commands는 상태를 변경하고 void 또는 단순한 결과를 반환합니다. Queries는 상태를 변경하지 않고 데이터를 반환합니다. 이러한 분리는 읽기(Dapper, SQL 뷰)와 쓰기(EF Core, DDD 집계)를 독립적으로 최적화하고 각 측면을 다르게 확장할 수 있게 합니다.

4

Clean Architecture에서 MediatR의 역할은 무엇입니까?

5

MediatR에서 Command를 어떻게 정의합니까?

+17 면접 질문

다음 면접을 위해 .NET을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기