아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
카카오스타일 favicon카카오스타일

지그재그 PDP, 헥사고날 아키텍처로 확장성 잡았다!

by DD
2025-03-21
1년 전
조회수 23

헥사고날 아키텍처 기반의 PDP 서비스 아키텍처를 소개하며, DDD와 애그리거트 모델을 활용함

인터페이스(Port & Use Case)와 애그리거트를 통해 비즈니스 로직과 외부 호출을 분리함

코드 유지보수성 향상, 확장성 확보, 테스트 용이성 등 헥사고날 아키텍처의 장점 강조

헥사고날 아키텍처의 핵심 구성 요소

헥사고날 아키텍처는 Port와 Adapter를 통해 외부 의존성을 격리한다. 구체적으로 Controller는 Input Port를 호출하고, Output Port는 외부 시스템과 통신한다. 따라서 도메인 로직은 외부 변화에 독립적으로 유지되며, 유지보수성을 높인다.

DDD와 애그리거트 모델의 활용

PDP 서비스는 애그리거트 루트를 중심으로 도메인 객체를 관리한다. 애그리거트는 관련된 객체들을 묶어 데이터 일관성을 보장하며, 비즈니스 로직의 복잡성을 줄인다. 반면, 과도한 애그리거트는 트랜잭션 문제를 야기할 수 있으므로, 적절한 설계가 중요하다.

테스트 용이성을 위한 Mocking 전략

헥사고날 아키텍처는 Port를 인터페이스로 사용하므로, 테스트 코드 작성이 용이하다. 구체적으로 Output Port를 Mocking하여 외부 의존성을 격리하고, 단위 테스트를 수행한다. 따라서 테스트 속도를 향상시키고, 코드 품질을 높일 수 있다.

코드 사례로 보는 Domain-Driven 헥사고날 아키텍처
중급
아키텍처
Kotlin
Redis
Spring
Java
Backend
Data
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

SK플래닛, 개발자 성장을 위한 AI 교육 및 기술 블로그 활용 사례 공개!

SK플래닛 로고

Redis CPU 100% 장애, Repository 대신 RedisTemplate으로 해결!

여기어때 로고

Spring Boot 4.1 출시 후 최신 Spring 생태계 소식 모음!

스프링 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

Spring Statemachine으로 알림 시스템 상태 관리 효율 UP!

카카오뱅크 로고

Spring Cache + Redis record 직렬화 문제, 똑똑하게 해결!

우아한형제들 로고
카카오스타일 favicon카카오스타일
중급
아키텍처
Kotlin
Redis
Spring
Java
Backend
Data

관련 추천 글

SK플래닛, 개발자 성장을 위한 AI 교육 및 기술 블로그 활용 사례 공개!

SK플래닛 로고

Redis CPU 100% 장애, Repository 대신 RedisTemplate으로 해결!

여기어때 로고

Spring Boot 4.1 출시 후 최신 Spring 생태계 소식 모음!

스프링 로고