아키텍처
10년 된 레거시를 현대화하다 - Part.2: 매장 도메인의 구현 여정
두줄요약
레거시에서 매장 도메인을 분리하기 위한 멀티모듈 아키텍처와 CQRS 적용 과정을 소개했습니다. 또한 Entity와 VO를 추상화해 도메인 모델을 구현한 사례를 설명했습니다.
핵심 내용
- 10년 된 레거시에서 매장 도메인을 분리해 구현하기 위한 전술적 설계와 실제 구현 여정 정리
- 자바+스프링부트 기반 스켈레톤 프로젝트, 멀티모듈 아키텍처, CQRS, 테이블 경량화·통합, Entity와 Value Object 설계 중심
- Entity는 식별자 기반 동등성, VO는 불변성과 필드 기반 동등성으로 추상화해 도메인 모델 구현
- 조회는 Querydsl·MyBatis를 함께 두고, 추후 모듈 분리와 DB 분리에 대비한 구조 선택
적용해볼 점
- 레거시 이관 시 코드와 DB를 함께 정리하는 단계적 접근
- 공통 모듈 비대화 방지와 모듈 조합형 배포 전략
- 도메인 특성에 맞는 Entity/VO 동등성 규칙 명확화
