헥사고날 아키텍처와 도메인 주도 설계(DDD)를 적용한 구조에서 서비스 레이어와 어댑터 간의 상호작용은 주로 도메인 객체를 중심으로 이루어집니다. 아래는 일반적인 워크플로우와 모범 사례에 대한 설명입니다:

워크플로우

  1. 컨트롤러에서 서비스 레이어로:
  2. 서비스 레이어에서의 처리:
  3. 서비스에서 포트(어댑터)를 통한 처리:
  4. 서비스 레이어 반환:
  5. 컨트롤러 응답:

모범 사례

이 구조는 비즈니스 로직과 기술적 구현 간의 명확한 분리를 유지하며, 아키텍처를 깔끔하고 유지보수하기 쉽게 만듭니다. 대부분의 헥사고날 아키텍처에서는 이와 같은 패턴을 따라 도메인 객체를 사용하여 서비스 레이어에서 비즈니스 로직을 처리하고, DTO는 외부와의 데이터 교환을 위해 사용됩니다.