노무현 대통령 배너

'dsl'에 해당되는 글 1건

  1. 2007/11/02 DSL에 대한 간단한 요약 (3)

DSL에 대한 간단한 요약

Work & Study/TechTalk 2007/11/02 08:09 posted by k16wire
DSL(Domain Specific Language)을 아시나요. 블로그를 보다가 간단하게 DSL에 대해 요약해 놓은 글이 있어서 옮겨 놓습니다.

  • DSL이 무엇인가 ? 상위 레벨의 API 위에다가 얇게 붙여 놓은것.
  • DSL의 두가지 타입은 ?
    • Internal : 루비, 파이썬, C#과 같은 "표준"언어를 이용해서 유연한 인터페이스로 통해 구현할수 있게 한 도메인 언어
    • Externa : 언어 자체를 갖고 있어서 파싱하고 컴파일할수 있게 해주는 도메인 언어
  • DSL의 중요한 속성
    • 사람이 읽을수 있어야 한다. (가독성)
    • 비즈니스 사용자(도메인 사용자)가 이해할 수 있어야 한다.
  • DSL의 예
    • XAML 은 디자이너를 위한 DSL이다.
    • NHibernate는 O/R 맵핑과 퍼시스턴스를 위한 DSL이다.
  • DSL을 이용할때 안좋은점
    • 너무 일반적이어서 너무 읽기 쉬운 언어가 될수 있다. 언어는 아주 구체적이어야 한다.
    • DSL 에러에 대한 디버깅이 어렵다. 디버깅이 너무 어려워지면 언어가 너무 일반적이 되었다는 신호로 봐야한다.
    • External DSL을 이용하게 되면 DSL과 외부 API간에 레이어를 테스트 해야 한다.
  • 어떻게 DSL을 잡슬수 있는가
    • 기존의 도메인 모델과 API위에 DSL을 빌드하라.
    • 요구사항을 가지고 DSL을 잡아라. 개발자는 비즈니스 전문가와 같이 DSL을 개발해야 한다.
  • 선택할수 있는 방법에는 무엇이 있는가
    • 확실한것은 없다.
  • 추천 도구
    • ANTlr
재밌는건 DSL을 미는곳은 마이크로소프트인데 이 글의 일부는 마틴 파울러가 했다는 사실. ^^
원본은 여기서 볼수 있습니다.



크리에이티브 커먼즈 라이선스
Creative Commons License
TAG