5장. 웹 어댑터 구현하기
박권규
스프링에서
@Controller
, @RestController
등으로 구현할 수 있는 웹 어댑터는 HTTP 요청 처리 및 변환, 유스케이스 포트를 호출하여 비즈니스 로직 수행 등의 많은 책임을 진다. 그러면서도 유스케이스, 영속성과는 다른 계층이기 때문에 별도의 커맨드 객체를 사용하는게 좋고 유스케이스 계층의 구현체와 깊게 연관하지 말아야 한다는 즉 도메인 로직을 수행하지 않아야 한다는 점이 인상깊었다.웹소켓처럼 서버가 클라이언트에게 요청을 보내는 경우에는 웹 어댑터의 포트를 추출하여 유스케이스 계층에서 사용하는 식으로 항상 의존성을 역전하는 것이 중요한듯.