피드로 돌아가기
Dev.toBackend
원문 읽기
ValidationContext 중심의 경로 관리 및 Validator 클래스 구조화를 통한 JSON Schema 검증기 설계
Implementing a JSON Schema Validator from Scratch - Week 8
AI 요약
Context
개별 Keyword 단위의 경로 관리 방식으로 인한 유지보수 복잡도 증가 및 단일 validate 함수 구조로 인한 Reference Keyword 지원의 한계 직면.
Technical Solution
- ValidationContext.evaluate를 통한 evaluationPath, schemaLocation, instanceLocation의 중앙 집중형 경로 제어 구조 설계
- Validator 클래스 도입 및 Draft 객체와 Schema Registry 통합을 통한 Reference Keyword 확장성 확보
- Indexing/Registration Keyword와 Evaluation Keyword의 역할 분리를 통한 Schema Registry 업데이트 프로세스 정립
- Evaluation Tracking 메커니즘을 통한 unevaluatedProperties 검증 시 평가 완료된 속성 식별 로직 구현
- Keyword Phase 설정을 통한 실행 순서 제어로 additionalProperties 등의 주석(Annotation) 기반 검증 기반 마련
실천 포인트
- 복잡한 경로 계산이 필요한 시스템 설계 시 개별 컴포넌트가 아닌 Context 객체에 제어권을 위임하는 패턴 검토 - 상태 유지나 외부 레지스트리 참조가 필요한 기능 구현 시 단순 함수보다는 클래스 기반의 상태 관리 구조 채택 - 기능 간 의존성이 높은 프로세스는 실행 단계(Phase)를 명시적으로 구분하여 처리 순서를 보장하는 설계 적용