ADR-001 도메인 5계층 분류 (코어/지원/서브시스템/공유 커널/조회·유틸)

  • 상태: 채택
  • 날짜: 2026-07-03
  • 근거: PRD FR-1, FR-3, FR-6 / TDD “컨텍스트 맵 — 5개 분류 확정”

맥락

12개 도메인 + common + dashboard·image(domain 레이어 없음)가 계층 구분 없이 평면 나열돼, 코어 거래 도메인과 운영 지원 서브시스템이 같은 레벨로 취급된다. PRD는 3계층(코어/지원/서브시스템) + common 공유 커널 별도 표기 + dashboard·image 조회·유틸 명시 분류를 요구한다.

결정

5개 분류로 확정한다.

분류도메인근거
코어(거래)booking, facility, goods, payment, ticketing, user, post, messageAggregate Root + 쓰기 소유, 고객 대상 거래·핵심 자산
지원(Supporting)notification, operator, weather, alerting코어 보조. weather는 Entity 없는 generic subdomain. alerting=⑥ 신규 인프라 장애 알림(신호·쿨다운·LLM분석·이력 소유, 발송은 notification DISCORD 채널 이벤트 재사용)
서브시스템(Subsystem)mcpAI 에이전트 운영. 코어와 라이프사이클·변경 주기 독립
공유 커널(Shared Kernel)common최소 공통 계약. 3계층 분류 대상 아님
조회·유틸(Read/Utility)dashboard, imageAggregate Root·쓰기 없음. dashboard=코어 조회 조합, image=파일 유틸(로직은 common/storage)

근거

  • operator·mcp는 코어 거래와 다른 변경 주기·독립 데이터 소유 → 지원/서브시스템으로 격리(무조건 분리 근거 충족).
  • weather는 Entity 0개, 외부 API 조회만 → 자체 소유 데이터 없는 generic subdomain으로 지원 분류.
  • dashboardapplication만 존재하며 코어 5개 도메인 서비스를 읽기 조합 → Aggregate Root 없는 Conformist read model.
  • image는 도메인 로직이 common/storage에 있고 application/presentation만 얇게 존재 → 조회·유틸.

대안 (미채택)

  • 모든 도메인을 코어로 평면 유지: 지원·서브시스템 격리 불가, PRD FR-3 위반.
  • dashboard/image를 신규 코어 도메인으로 승격: Aggregate Root·쓰기 소유가 없어 도메인 정의 미충족. 오버엔지니어링.

영향

  • 후속 ②③⑧ 과제가 이 분류표를 인용해 신규 도메인 배치를 판단한다.
  • 코드 재배치는 유발하지 않는다(문서 분류만). image의 common/storage → domain/image 승격은 M3 후속 판단.