
아키텍처
ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법
두줄요약
ArchUnit으로 Java 아키텍처 원칙을 테스트 코드로 검증하는 방법을 소개했습니다. 패키지 의존성, 순환 의존성, 어노테이션 규칙을 자동으로 강제하는 예시를 담았습니다.
문제 상황
- 모놀리틱 주문 서비스의 강결합 구조로 인한 유지보수성 저하와 기술 부채
- 모듈화 전에 패키지 간 의존성과 아키텍처 원칙을 체계적으로 분리할 필요
구조와 흐름
- ArchUnit으로 Java 코드의 패키지, 레이어, 슬라이스, 순환 의존성 검사
- 테스트 코드로 의존 방향, 패키지 구조, 네이밍, 트랜잭션, 어노테이션 규칙 정의
- 위반 시 상세 에러로 규칙 위반 위치와 원인 확인
적용해볼 점
- 특정 패키지 간 의존 금지, 순환 의존성 차단 같은 규칙을 테스트로 고정
- @Transactional 같은 어노테이션 사용 위치와 대상도 아키텍처 규칙으로 관리
- 모듈화 전 구조 정비와 코드 품질 자동 검증에 활용
