[260813]도메인이란?

이상민·2026년 8월 13일

Spring

목록 보기
55/59

도메인이란?

도메인이란 현실 세계의 문제를 소프트웨어로 해결하게 하는 문제 영역을 뜻한다.
쇼핑몰 앱을 예로 들면, 쇼핑몰은 회원, 상품, 장바구니, 주문, 결제 등 으로 이루어져 있다. 이 개념들을 도메인이라 부르고, 도메인들은 서로 연결되어 있지만 각자 하고있는 역할과 규칙등은 다르다.

도메인을 구분함으로서 코드를 책임별로 분류 할 수 있고, 무엇을 만들지에 대해 뚜렷하게 나타낼 수 있게 된다.

이커머스 도메인의 5대 핵심 개념

쇼핑몰 앱과 같은 이커머스 도메인의 5대 핵심 개념은 다음과 같다.

  • 1. 회원

    쇼핑몰의 회원은 적립, 장바구니, 주문 내역 등을 볼 수 있게 해주는 일종의 회원카드를 발급 하는 도메인 이다. 회원은 쇼핑몰 안에서 발생하는 모든 행위의 주체가 된다.

  • 2. 상품

    상품은 쇼핑몰에서 판매중인 상품을 의미하며, 이름, 가격, 상품설명 등이 존재하고 추가로 상품의 재고(stock)을 포함한다.
    상품 도메인에서 필수로 지켜야 하는 규칙에는

  • 재고가 0일때 주문이 불가능하게 하기

  • 상품 가격이 바뀌었을때, 이미 확정된 주문의 금액은 불변할것(스냅샷)

  • 3. 장바구니

    장바구니는 상품을 담는 장바구니를 의미하는 도메인이다.
    장바구니에서는 상품의 가격이 바뀌었을때 바뀐 가격을 실시간으로 반영해야 한다.
    또한, 장바구니에 상품을 담는다 하여도, 담아놓기만 하고 실제로 사는 사람보다 안사는 사람이 더 많고 계산도 복잡해지기 때문에 상품의 재고를 미리 차감하지 않는다.

  • 4. 주문

    주문은 상품을 실제로 구매하는 것이 아닌, 결제 할때의 상태를 저장하기 위해 존재하는 도메인이다. 상품 도메인 설명에서도 기술 되어있듯, 상품 가격이 바뀌어도 이미 확정된 주문의 금액은 그대로여야 하고, 이때 사용되는 개념이 스냅샷이다.

    스냅샷이란 사진을 찍는것과 같이 그때 당시의 상태를 저장하는것이다
  • 5. 결제

    마지막으로 결제는 주문 도메인에서 확정된 금액을 실제로 결제하는 과정을 담은 도메인이다.
    결제에는 결제 진행중, 결제 완료, 결제 실패, 결제 취소 및 환불 상태가 있으며, 상태를 이렇게 분리하는 이유는 결제를 취소하거나 실패한다 하더라도 주문 기록은 남아있어야 하기 때문이다.

도메인 관계도

회원(Member): 장바구니를 소유, 주문의 주체
장바구니(CartItem): 회원이 담아둔 상품과 수량을 관리, 주문 생성 전 단계
주문(Order): 회원의 구매 의사를 확정한 결과, 주문 시점의 상품 가격을 스냅샷으로 고정
결제(Payment): 특정 주문을 대상으로 실제 결제 수행과 결과(성공·실패·취소)를 기록.

도메인의 흐름은 대부분 회원 -> 장바구니(상품 담기) -> 주문 순으로 진행된다.

profile
백앤드 개발 브이로그

0개의 댓글