Domain Model: 도메인 엔티티를 설계
- 도메인 모델과 엔티티를 분리하여 설계
- 외부 모델에 종속되지 않고, 순수 도메인 모델을 설계
Use Case: 실제 비즈니스 로직 설계
- 도메인 로직 간 흐름을 모아둔 설계
- In Port: presentation의존성을 줄이기 위해 Use Case Interface 설계
- Out Port: infrastructure 의존성을 줄이기 위해 외부 시스템의 interface 설계
Infrastructure: 외부 시스템과 연결 부분 설계
- Out Port Interface를 직접적으로 구현(Out Adapter)
- 외부 시스템과 연결되는 구조를 정의
Presentation: 실제 사용자에게 표현하는 부분 설계
- In Port Interface를 의존 받아 실제 비즈니스 로직을 수행 후 사용자에게 보여줌(In Adapter)
- 바운디드 컨텍스트 별로 코드를 분리
- 바운디드 컨텍스트 경계를 해치지 않는 코드들은 외부로 뺌
- config
- 단순 코드 설정 파일이 아닌, 특정 영역에 대한 전역적인 동작 방식을 정의하고 제어하는 코드 포함
- sharedkernel
- 두개 이성의 컨텍스트 간의 공유되는 모델을 정의
- config
AggregateRoot도메인 모델은@AggregateRoot어노테이션과AbstractAggregateRoot클래스를 상속 받아서 구현
<프로젝트 완성 시 공개>
<프로젝트 완성 시 공개>