'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선
읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.
육각형 아키텍처와 레일즈
언젠가 읽기
2025. 3. 13. PM 1:00:19
헥사고날 아키텍처와 레일스
헥사고날 아키텍처(Hexagonal Architecture)는 포트와 어댑터 패턴(Ports & Adapters Pattern)으로도 알려진 디자인 패턴으로, 애플리케이션의 비즈니스 로직을 외부 인터페이스와 분리하여 구조화하는 방법입니다.
핵심 개념
- 헥사곤 구조: 애플리케이션의 핵심 비즈니스 로직이 헥사곤 내부에 위치하며, 이는 애플리케이션의 중심을 나타냅니다.
- 포트(Ports): 외부 세계가 애플리케이션과 연결되는 방식을 정의합니다. 이는 인바운드 포트와 아웃바운드 포트로 나뉩니다.
- 어댑터(Adapters): 포트를 구현하여 외부 시스템과의 상호작용을 처리합니다. 이는 Gang of Four의 어댑터 패턴을 직접 참조합니다.
인바운드 포트와 아웃바운드 포트
- 인바운드 포트: 외부 사용자나 시스템이 애플리케이션에 요청을 보내는 인터페이스를 나타내며, 애플리케이션의 API 역할을 합니다.
- 아웃바운드 포트: 애플리케이션이 외부 서비스와 통신하는 인터페이스를 나타내며, 데이터베이스나 다른 API와의 상호작용을 처리합니다.
어댑터 패턴의 중요성 이해
'어댑터'가 Gang of Four의 어댑터 패턴을 직접 지칭한다는 것을 인식함으로써 포트와 어댑터 패턴의 구현이 명확해집니다. 이는 패턴의 올바른 이해와 적용에 중요한 열쇠가 됩니다.
알리스테어 콕번의 강연에서 배운 점
알리스테어 콕번(Alistair Cockburn)의 헥사고날 아키텍처에 대한 강연은 패턴의 단순화와 올바른 구현을 강조하며, 헥사고날 아키텍처에 대한 깊은 통찰을 제공합니다. 이 강연을 통해 패턴에 대한 이해를 크게 높일 수 있었습니다.
레일스 애플리케이션에서의 장점
헥사고날 아키텍처를 레일스 애플리케이션에 적용하면 비즈니스 로직과 프레임워크, 외부 서비스 간의 결합도가 낮아져 애플리케이션의 유지보수성과 테스트 용이성이 향상됩니다.
참고 자료
- 알리스테어 콕번의 헥사고날 아키텍처 강연
- Gang of Four 디자인 패턴: 어댑터 패턴
- 포트와 어댑터 패턴 이해하기