
아키텍처
플레이 스쿼드 헥사고날 아키텍처 적용기
두줄요약
플레이 스쿼드가 Python 계층형 구조를 Kotlin+Spring 기반 헥사고날 아키텍처로 전환한 과정을 정리했습니다. 도메인 중심 설계, 포트/어댑터 분리, 테스트 용이성 개선 포인트를 설명했습니다.
핵심 내용
- 플레이 스쿼드에서 Python 계층형 아키텍처 기반 MVP를 Kotlin+Spring으로 전환하며 헥사고날 아키텍처를 적용한 사례
- 계층형 아키텍처의 DB 주도 설계, 강한 결합, 테스트 어려움, 유스케이스 분산, 코드 비대화 문제를 지적
- 클린 아키텍처와 헥사고날 아키텍처의 핵심인 도메인 중심 의존성, in/out 포트, adapter 분리를 설명
- 실제 프로젝트에서 inbound adapter, outbound persistence adapter, JPA 엔티티, DTO, 포트 인터페이스의 역할을 예시 코드로 정리
적용해볼 점
- 비즈니스 로직을 프레임워크와 분리하고 코어 도메인 중심으로 재배치
- 웹 계층은 입력 검증과 라우팅만 담당하고, 영속성은 포트/어댑터로 감싸기
- JPA 엔티티와 도메인 모델 분리로 테스트 용이성과 유지보수성 확보
