1.1 도메인이란?

개발자 입장에서 구현해야 할 소프트웨어의 대상을 도메인이라고 한다. 도메인은 다시 하위 도메인으로 나눌 수 있습니다. 예) 주문 → 해택, 회원, 카탈로그, 정산, 배송

특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 아니다. 때때로 어 떤기능은 외부 업체의 시스템을 사용하는 경우도 있다.

1.2 도메인 전문가와 개발자 간 지식 공유

요구사항을 잘못 이해하면 제품을 만드는데 실패를 하거나 일정이 크게 밀리기도 한다. 그러기에 개발자와 전문가와 직접 소통을 하여 정보가 왜곡되거나 손실되는것을 방지하는 것이 좋다.

1.3 도메인 모델

도메인 모델에는 다양한 정의가 존재하는데, 기본적으로 도메인 모델은 특정 도메인을 개념적으로 표현한 것이다.

  1. 객체 기반 도메인 모델

    1. 기능과 데이터를 함께 보여주는 장점이 있다.

    Untitled

  2. 상태 다이어그램을 이용한 상태 모델링

    1. 상태 전이를 자세히 보여준다.

    Untitled

1.4 도메인 모델 패턴

애플리케이션 아키텍처 구성

도메인 모델

다음은 주문 도메인의 예시 코드이다.