상품 카탈로그

무엇을 파는지와 얼마인지. 가격의 유일한 출처다.

:8080
클래스
5
포트
1
interface
엔드포인트
2
화면
1
가드레일
2
critical 1

이 도메인의 자리

100%휠로 확대 · 끌어서 이동

이어진 곳

이 도메인이 쓰는 것 →

없다. 다른 도메인을 모른다.

← 이 도메인을 쓰는 곳
공용 모듈
common-appcommon-domaincommon-infrastructurecommon-web

다루는 테이블

원본 대응 products/products_init.php

타입 구조 (5)

Spring 소스를 직접 읽어 그린다. 계층 사이 화살표만 그렸다 — 타입 하나하나를 이으면 읽을 수 없다. 파란 테두리가 포트(interface)다.

100%휠로 확대 · 끌어서 이동
app 1domain 2infrastructure 1web 1

포트 (1) — 도메인이 바깥에 요구하는 것

도메인은 DB 도 HTTP 도 모른다. 필요한 것을 인터페이스로 선언하고, infrastructure 가 그것을 구현한다. 의존이 뒤집히는 지점이다.

이름하는 일메서드
ProductRepository
domain
-

도메인 모델 (1)

Product
record
판매 상품.

유스케이스 (1)

CatalogUseCase
34
상품 조회.
list()get()

엔드포인트 (2)

100%휠로 확대 · 끌어서 이동
메서드경로컨트롤러
GET/api/catalog/productsCatalogController
GET/api/catalog/products/{code}CatalogController

화면 흐름 (1개 화면)

이 도메인이 받는 화면끼리의 이동입니다. 다른 도메인으로 나가는 이동까지 함께 보려면 화면 흐름 → 상품 카탈로그 으로 갑니다.

100%휠로 확대 · 끌어서 이동

이 도메인을 쓰는 화면 (1)

사용자 앱

critical 가드레일 (1)

  • catalog-price-matches-order
    목록에 보이는 판매가와 실제 주문 생성 금액이 같아야 한다.