🧩 DSL이란?

정의

DSL(Domain Specific Language)은 특정 문제 영역을 해결하기 위해 만든 전용 언어다.

DSL은 범용 언어처럼 모든 문제를 해결하기보다는, 특정 도메인에서 자주 반복되는 표현을 더 쉽게 쓰기 위해 만들어진다.

⚙️ 특징

  • 표현 의도가 분명하다.
  • 도메인 용어를 그대로 표현할 수 있다.
  • 반복 작업을 줄이는 데 유리하다.
  • 특정 영역에 맞춰 문법이 좁고 명확하다.

✅ 장점

  • 가독성이 좋다.
  • 도메인 용어를 그대로 표현할 수 있다.
  • 잘 설계되면 비즈니스 의도가 드러난다.

⚠️ 단점

  • 학습과 유지보수에 시간이 필요하다.
  • 일반 언어보다 범용성이 낮다.
  • 도메인이 바뀌면 DSL도 함께 수정해야 할 수 있다.

🧪 예시

  • SQL
  • HTML
  • 정규표현식
  • Querydsl
  • Elasticsearch Query DSL

🔍 DSL이 자주 쓰이는 곳

  • 데이터 조회와 검색
  • 문서 구조 표현
  • 텍스트 패턴 매칭
  • 특정 도메인 규칙 표현

📌 정리

  • DSL은 특정 영역에 맞춘 전용 언어다.
  • 반복되는 표현을 읽기 쉽고 쓰기 쉽게 만든다.
  • Querydsl이나 검색 DSL 같은 사례가 대표적이다.

연결문서

댓글남기기