Hexagonal-Architecture
1 Hexagonal Architecture
2 Hexagonal-Architecture의 구조
2.1 Adapter
- 애플리케이션과 다른 시스템 간의 번역을 담당한다
2.1.1 인커밍 어댑터
- 주도하는 어댑터라고도 한다
- 애플리케이션 코어를 호출하는하고 무슨일을 해야 할지 알려준다
- 인커밍 어뎁터는 애플리케이션 서비스에 의해 구현된 인터페이스인 전용 포트를 통해 애플리케이션 계층과 통신한다
웹 어댑터
- 대표적인 인커밍 어댑터이다
- HTTP 요청을 애플리케이션 유스케이스에 대한 메서드 호출로 변환하고 결과를 다시 HTTP로 변환하고 어떠한 도메인 로직도 수행하지 않는다
- 반면 애플리케이션 계층은 HTTP에 대한 상세 정보를 노출시키지 않도록 HTTP와 관련된 작업을 해서는 안 된다
- 이렇게 하면 웹 어댑터를 다른 어댑터로 쉽게 교체할 수 있다
- 웹 컨트롤러를 나눌 때 모델을 공유하지 않는 여러 작은 클래스들을 만드는 것을 두려워하지마라
- 작은 클래스는 파악이 쉽고 테스트 하기 쉬우면 동시 작업을 지원한다