피드로 돌아가기
Dev.toBackend
원문 읽기
FluentValidation과 MediatR Pipeline을 통한 Domain Model 순수성 확보
FluentValidation en .NET 10 sin ensuciar tus entidades (Clean Architecture + MediatR)
AI 요약
Context
엔티티 내 DataAnnotations 사용으로 인한 도메인 레이어와 프레임워크 간 강결합 문제 발생. 유닛 테스트의 어려움과 책임 분리 실패로 인한 도메인 모델의 오염이 주요 병목 지점으로 식별됨.
Technical Solution
- Application Layer로 검증 로직을 이동하여 도메인 모델의 프레임워크 의존성 제거
- MediatR의 IPipelineBehavior를 구현하여 Command 처리 전 자동 검증 프로세스 중앙화
- FluentValidation의 AbstractValidator를 통한 선언적 검증 규칙 정의로 도메인 로직과 검증 로직 분리
- DTO 및 Command 기반 검증 전략 채택을 통한 시스템 진입점에서의 데이터 무결성 확보
- 검증 로직의 외부 분리를 통한 Validator 전용 유닛 테스트 환경 구축 및 테스트 커버리지 향상
실천 포인트
- 엔티티 내 [Required] 등 DataAnnotations 속성 제거 여부 확인 - MediatR Pipeline Behavior를 통한 검증 로직의 중앙 집중화 검토 - Domain Model이 아닌 Command/DTO 레벨에서 검증 규칙을 정의했는지 체크 - FluentValidation.TestHelper를 활용한 Validator 유닛 테스트 작성