DDD & Hexagonal

도메인 주도 설계(DDD, Domain-Driven Design)

  • 도메인 모델링 (Domain Modeling)
    • 비즈니스 도메인을 소프트웨어 모델로 표현한다.
    • 도메인 전문가와 개발자가 함께 협업하여 도메인의 개념과 규칙을 명확하게 정의한다.
  • 유비쿼터스 언어 (Ubiquitous Language)
    • 도메인 전문가, 개발자, 기획자 등 모든 이해관계자가 같은 언어를 사용해야 한다.
    • 코딩, 문서, 토론 등에서 일관된 용어를 사용하여 오해를 방지한다.
  • 바운디드 컨텍스트 (Bounded Context)
    • 도메인의 개념과 용어는 특정 컨텍스트(문맥) 내에서만 일관성을 유지해야 한다.
    • 여러 개의 바운디드 컨텍스트가 존재할 수 있으며, 서로 독립적으로 유지되는 것이 중요하다.
  • 애그리게이트 (Aggregate)
    • 관련된 도메인 객체들을 하나의 그룹으로 묶어 일관성을 보장한다.
    • 애그리게이트 루트(대표 객체)를 통해서만 데이터를 변경하도록 설계한다.

© 2023 Lee. All rights reserved.