[아키텍처] 스프링 애플리케이션과 헥사고날 아키텍처

헥사고날 아키텍처

스프링 프레임워크 기반 애플리케이션에 헥사고날 아키텍처를 적용해보자. 스프링의 의존성 주입 및 제어의 역전 기술과 합성(composition)을 사용하여 의존성 역전 법칙을 쉽게 달성할 수 있고 자바의 빌드 도구를 통해 모듈 의존성 제약을 설정할 수 있으므로 아키텍처의 내부 영역과 외부 영역 간 결합도를 낮추고 의존성 방향을 저수준에서 고수준으로 설정하는 것은 어렵지 않다.

컨트롤러에서 직접 도메인 서비스를 호출하지 않는 것이 좋다. 도메인 레이어에 도메인 모델 객체를 전달하기 위해 객체의 도메인 모델 변환 과정을 컨트롤러에서 수행하는 것은 안티 패턴이다. 내부 영역의 어댑터 서비스를 컨트롤러에서 직접 호출하는 대신 퍼블릭 애플리케이션 서비스를 도입하여 컨트롤러에서 도메인 서비스와 상호작용하지 않도록 한다.

참고

  • <>

Comments