포트와 어댑터 아키텍처는 헥사고날 아키텍처라고도 하며, 애플리케이션이 외부 요인으로부터 격리될 수 있도록 하는 도메인 중심 아키텍처입니다. 이 아키텍처는 1994년 Alistair Cockburn에 의해 처음 소개되었고, 2005년에 그의 블로그에 다시 쓰여졌습니다. 이 아키텍처의 주요 목적은 애플리케이션이 다양한 사용자, 프로그램, 스크립트에 의해 구동될 수 있도록 하면서, 런타임 장치 및 데이터베이스로부터 격리된 상태로 개발 및 테스트될 수 있도록 하는 것입니다. 비즈니스 로직은 애플리케이션의 핵심이며, 외부 의존성으로부터 보호되고 격리되어야 합니다. 포트와 어댑터 아키텍처는 비즈니스 로직을 외부 요인으로부터 분리함으로써 이를 달성하며, 이를 통해 쉽게 교체하고 유지 관리할 수 있습니다. 이 아키텍처는 유스케이스 중심이며, 데이터베이스 또는 기타 외부 요인과 같은 구현 세부 사항이 아닌 유스케이스에 초점을 맞춥니다. 아키텍처의 육각형은 핵심 비즈니스 로직을 나타내며, 포트와 어댑터는 외부 세계와 상호 작용하기 위한 인터페이스 역할을 합니다. 포트는 육각형에 의해 정의되고, 어댑터는 육각형 외부에 구현되어 애플리케이션과 외부 액터 간의 통신을 가능하게 합니다. 어댑터는 액터와 포트 사이의 중간 요소 역할을 하며, 데이터를 변환하여 애플리케이션 또는 외부 액터와 호환되도록 합니다. 포트와 어댑터 아키텍처를 사용함으로써 개발자는 외부 요인과 독립적으로 진화할 수 있는 탄력적이고 적응 가능한 소프트웨어를 구축할 수 있습니다.
dev.to
Ports and Adapters (Hexagonal Architecture)
