피드로 돌아가기
The Code AI Won't Write
Dev.toDev.to
Frontend

데이터 중심 Schema 설계 대신 도메인 기반 Function Composition을 통한 확장성 확보

The Code AI Won't Write

Matteo Antony Mistretta2026년 6월 16일8intermediate

Context

중첩된 객체 구조의 Form 데이터 유효성 검사 시, 공통 패턴을 일반화하려는 시도로 인해 도메인의 특수성이 무시되는 경향 분석. 조건문 기반의 Flag 방식이나 단순 재귀 구조는 유지보수 비용 증가 및 누락된 키(Missing Key) 검증 불가라는 한계를 가짐.

Technical Solution

  • Variability의 위치를 분석하여 데이터 기반이 아닌 코드 기반의 도메인 모델링 적용
  • 각 주소 타입별 독립적인 Validator 함수를 정의하는 Function Composition 구조 설계
  • 공통 로직의 중앙 집중화 대신 각 도메인 객체에 맞는 개별 검증 로직을 할당하여 변경 영향도 최소화
  • 재귀적 탐색 과정에서 발생하는 '존재하지 않는 키'의 검증 누락 문제를 명시적 함수 호출로 해결
  • 새로운 주소 타입 추가 시 기존 코드 수정 없이 신규 Validator 추가만으로 대응 가능한 Open-Closed Principle 구현

- 가변성(Variability)이 외부 설정 데이터에 있는지, 내부 도메인 로직에 있는지 우선 구분할 것 - 중복 제거를 위한 과도한 일반화(Generalization)가 도메인의 명시성을 해치지 않는지 검토할 것 - 데이터 구조를 그대로 따라가는 Schema 기반 검증보다 도메인 모델을 반영한 Composition 구조를 우선 고려할 것

원문 읽기