ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도메인 주도 설계 핵심
    DESIGN PATTERN & ARCHITECTURE 2024. 3. 31. 14:19

     

     

     

     

    도메인 주도 설계 핵심 책을 읽고 간단하게 정리해보았다. 

    https://www.yes24.com/Product/Goods/48577718

     

    도메인 주도 설계 핵심 - 예스24

    도메인 주도 설계(DDD)를 프로젝트에 적용하고자 하는 개발자, 소프트웨어 아키텍트 또는 관리자가?DDD를 빠르게 배우고 적용할 수 있게 도와준다.?뿐만 아니라?좋은 소프트웨어를 만들기 위해 꼭

    www.yes24.com

     

     

     

     

     

     

     

    바운디드 컨텍스트와 보편 언어 

    • 바운디드 컨텍스트 
      • 동일한 컨텍스트의 범위 표현 
      • 바운디드 컨텍스트 내에 존재하는 컴포넌트들은 컨텍스트에 특화 
      • 단일 팀에만 할당되어야 하며 독립적인 소스 코드 레파지토리가 있어야 함 
      • 데이터 스키마도 명확히 분리 
      • DDD는 서로 다른 개념들을 각기 다른 바운디드 컨텍스트 안으로 분리하여 개념 간 차이를 더욱 중시 
      • 도메인 모델 이상의 다양한 요소들로 구성됨 
    • 보편 언어 
      • 바운디드 컨텍스트 안의 팀 구성원이 사용하는 언어 

     

     

    도메인 전문가

    • 다양한 비즈니스 영역마다 존재 
      • 개발자는 소프트 웨어 개발에 중점 
      • 개발자는 기술 중심의 주장을 하지 않도록 조심해야 함 
      • 개발자는 근거 없는 간결성은 피하고 해당 팀의 바운디드 컨텍스트 안에 팀이 점진적으로 개발하는 보편 언어를 수용할 수 있어야 함 
    • 비즈니스에 중점을 두는 사람 

     

     

    행위 주도 개발 

    • 사례를 통한 명세 
    • 공유된 이해를 기반으로 보편언어와 모델을 협업을 통해 개발 및 정제하고 모델이 명세서를 준수하고 있는지를 확인하는 것
    • 인수테스트는 직접적으로 바운디드 컨텍스트와 연관되고, 소스 코드 리파지토리에 유지됨 

     

     

    서브도메인 

    • 전체 비즈니스 도메인의 하위 부분 
    • 서브도메인 영역 
      • 핵심 도메인
        • 기업 프로젝트에서 높은 우선순위 
      • 지원 서브도메인
        • 지원 서브 도메인 없이 핵심 도메인을 성공시킬 수 없음 
      • 일반 서브도메인
        • 일반 서브 도메인을 핵심 도메인으로 오해하지 않도록 주의 

     

     

    추상화 주의 사항 

    • 소프트 웨어 모델의 언어가 도메인 전문가의 멘탈 모델과 일치해야 함 
    • 추상화 레벨이 너무 높아 개별적인 형태의 세부 사항을 모델링하면 어려워짐
    • 잘못된 추상화 수준은 사용자 인터페이스까지 영향을 미쳐 혼란을 야기함 

     

     

    이벤트 소싱 

    • 애그리게잇 인스턴스에 대해 변경된 것에 대한 기록 
    • 발생했던 모든 도메인 이벤트를 저장 
    • 도메인 이벤트를 발생한 순서대로 이벤트 스트림에 구성 
      • 이벤트 스트림은 애그리게잇에 가장 처음 발생했던 도메인 이벤트로 시작해서 마지막 도메인 이벤트까지 지속 
      • 애그리게잇 인스턴스에 새로운 도메인 이벤트가 발생하면 이벤트 스트림의 마지막에 추가 
      • 애그리게인에 이벤트 스트림을 재적용하면 저장된 정보가 메모리로 환원됨 
      • => 메모리에서 삭제되었던 애그리게잇들을 이벤트 스트림을 통해 온전히 환원이 가능 

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    'DESIGN PATTERN & ARCHITECTURE' 카테고리의 다른 글

    EDA ( Event - Driven -Architecture)  (1) 2022.09.29
Designed by Tistory.