Software Engineering

[Hexagonal Architecture] 2. 구성

noahkim_ 2026. 6. 29. 15:13

1. 포트

  • 내부 애플리케이션이 외부와 소통하기 위해 정의해둔 인터페이스
  • ✅ 도메인과 어댑터 간 포트를 경계로 구분됨
  •  추상 API를 정의함
  •  목적에 맞는 프로토콜을 따름

 

Inbound Port

  • 외부 요청이 애플리케이션 기능을 실행할 수 있도록 정의한 입력 인터페이스
  • ex) Controller, Scheduler, Consumer 등

 

Outbound Port

  • 애플리케이션이 외부 시스템을 사용하기 위해 정의한 출력 인터페이스
  • ex) JPA Repository, Mongo Repository, Kafka Producer, Email Sender

 

2. 어댑터

  • 포트를 실제 기술로 연결하거나, 외부 요청을 포트로 변환하는 코드
  •  외부와 코어 사이에서의 언어를 통역해줌
  • ➡️ 핵심 로직이 외부 기술을 직접 알지 않게 해줌

 

출처