# 업무 개요
중앙방역대책본부에는 다양한 팀(DDD의 관점에서는 Actor)이 있지만, 대중에게 가장 잘 알려진 다음의 네 팀의 업무만을 이해해 보도록 합시다.
💡 주의: 이하 안내하는 코로나19 대응 지침은 정부 자료를 바탕으로 한 가상의 약식 운영 지침입니다. 따라서, 현재 운영 중인 정부의 지침과는 다를 수 있습니다. 이 안내를 실제 코로나19 대응 지침으로 오해하거나 적용하지 마세요.
환자관리팀
- 재택치료제도를 통해 환자를 치료해야 합니다.
- 환자가 n일 이후에 격리해제 기준에 부합하는지 확인해야 합니다.
역학조사팀
- 전자출입명부 및 카드 승인 내역을 기반으로 확진자의 동선을 조사하고, 밀접 접촉자를 확인합니다.
격리관리팀
- 확진자에게 격리 및 격리 해제를 통지하고, 자가격리자가 격리 중에 있는지, 또는 격리 위반을 했는지 확인합니다.
진단검사운영팀
- 선별진료소를 운영하고 PCR 검사를 통해 확진 여부를 파악합니다.
# 도메인 주도 설계의 주요 용어
- 도메인 이벤트: 발생한 사건
- 커맨드: 도메인 이벤트를 트리거하는 명령
- 외부 시스템: 도메인 이벤트가 호출하거나 관계가 있는 레거시 또는 외부 시스템
- 액터: 개인 또는 조직의 역할
- 핫스팟: 의문사항, 결정하기 힘든 사항
- 애그리거트: 도메인 이벤트와 커맨드가 처리하는 데이터, 상태가 변경되는 데이터
- 정책: 이벤트 조건에 따라 진행되는 결정, “이벤트”가 발생할 때, “커맨드”를 실행한다
- 정보: 액터에게 제공되는 데이터, 결정을 내리는데 영향을 주는 정보
# BARE MINIMUM REQUIREMENT
위의 업무 방식을 이해하고, 도메인 주도 설계를 페어와 함께 진행합니다.
- 도메인 모델을 생성하세요.
애그리거트, 커맨드, 도메인 이벤트, 정책을 먼저 줄글로 나열하고, 그 관계를 다음 그림과 같이 그려보세요.

- 애그리거트 루트(보통은 액터로 나눌 수 있음)와 그에 관련된 바운디드 컨텍스트를 설정하고, 연관 관계를 정의하세요.
# GETTING STARTED
워크숍은 다음과 같이 진행합니다.
워크숍 순서
- 도메인 이벤트 찾기
- 외부 시스템/외부 프로세스 찾기
- 커맨드 찾기
- 액터 찾기
- 애그리거트 정의
- 바운디드 컨텍스트 정의
- 컨텍스트 매핑

# 액터 별 도메인 모델 생성 예
관리 (환자관리팀)
- 확진자 (Patient)
격리 (격리관리팀)
- 격리
- 격리 물품
조사 (역학조사팀)
- 감염 검증
- 동선 검증
- 동선 검증
- 전자 출입 조회
- 카드내역조회
검사 (진단검사운영팀)
- 진료소
- 지원
- 검사