ABOUT ME

  • 도메인 주도 설계 - 3. 모델과 구현의 연계
    디자인 패턴 2024. 4. 9. 09:55

    본 내용은 에릭 에반스의 도메인 주도 설계를 공부하면서 제 나름대로 이해하기 쉽게 정리한 글입니다.

    이해가 어려우시다면 댓글 부탁드립니다.


    MODEL-DRIVEN DEGISN(모델 주도 설계)

     도메인 주도 설계에서는 초기 분석 단계에 도움될 뿐 아니라 설계의 기반이 되는 모델이 필요하다. 이 모델 주도 설계는 도메인 주도 설계에서 필요로 하는 모델링 접근법이다.

     설계가 도메인 모델과 대응하지 않는다면 그 모델은 가치가 앖고 소프트웨어의 정확함도 의심스러워진다. 또한 모델과 설계 기능 사이의 복잡한 대응은 이해하기 힘들고 유지보수가 불가능해진다. 분석과 설계가 분리된다.

     

     모델 주도 설계는 도메인 모델을 있는 그대로 반영해서 설계와 모델의 대응시키는 방법론이다. UBIQUITOUS LANGUAGE(보편 언어)를 지원하고 분석과 설계를 만족하는 단 하나의 모델을 만들어내야 한다. 구현과 모델을 일치시키려면 보통 객체지향 프로그래밍과 같은 모델링 패더라임을 지원하는 소프트웨어와 언어가 필요하다

     

    HANS-ON MODELER(실천적 모델러)

     코드를 작성하는 사람이 모델에 책임을 느끼지 못하거나 애플리케이션을 대상으로 모델이 동작하게 만드는 법을 모르면 그 모델은 소프트웨어와 무관해진다. 개발자는 코드의 변경이 모델의 변경이라는 점을 인식해야한다.

     또한, 모델러가 구현 프로세스와 분리되면 구현상의 제약조건을 감안하는 능력을 잃어버리게 된다. MODEL-DRIVEN DEGISN을 코드로 만드는 과정은 협업을 통해 알 수 있는데, 설계자(모델러)가 구현을 하지 못하면 개발자와 업무의 단절이 생겨 숙련된 설계자의 지식과 솜씨는 개발자에게 전해지지 못한다.

     

     모델에 기여하는 모든 기술자는 역할과는 상관없이 코드를 접하는데 어느정도 시간을 투자해야 한다. 코드를 변경하는 책임이 있는 팀원들은 코드를 통해 모델을 표현하는 법을 반드시 배워햐 한다.  모든 개발자는 모델에 관한 토의에 참여해야하고 도메인 전문가와 접촉해야 한다. 모델에 기여하는 사람들은 의식적으로 개발자와 UBIQUITOUS LANGUAGE를 토대로 모델의 아이디어를 나눠야 한다.

    댓글