[Architecture] 헥사고날 아키텍처 (Hexagonal Architecture)

·
Backend/Architecture
1. 헥사고날 아키텍처란? 헥사고날 아키텍처는 2005년 앨리스터 코오번(Alistait Cockburn)이 제안한 소프트웨어 설계 패턴으로, 포트와 어댑터(Ports and Adapters) 아키텍처라고도 불린다. 핵심 아이디어는 애플리케이션의 핵심 로직(도메인)을 외부 세계와 완전히 분리하는 것이다. 가장 중요한 것은 의존성 방향이다. 모든 의존성은 바깥에서 안쪽(코어)을 향하며, 코어는 절대 바깥을 의존하지 않는다. 이를 위해 아웃바운드 포트는 코어가 인터페이스를 정의하고 어댑터가 이를 구현하는 의존성 역전(DIP)을 사용한다.구성 요소코어(Core / 도메인) : 순수한 비즈니스 로직으로, 외부 기술에 대해 아무것도 모른다. 육각형 안쪽에 위치한다.포트(Port) : 코어가 외부와 소통하기 위해 ..