목록 보기
추상화 & 리팩토링을 통한 해외 물류사 개발 비용 절감
백엔드

추상화 & 리팩토링을 통한 해외 물류사 개발 비용 절감

무신사
무신사
2024년 12월 5일

두줄요약

해외 물류사 연동을 if-else 분기 중심에서 추상화와 팩토리, 조합 구조로 리팩토링했습니다. 이를 통해 신규 물류사 추가 시 기존 코드 수정과 테스트 부담을 크게 줄였습니다.

문제 상황

  • 해외 물류사 P사 중심 코드에 C사 연동이 추가되며 if-else 분기와 수정 범위가 커진 상황
  • 기존 코드 변경 시 P사 로직 재테스트가 필요하고, 신규 물류사 추가 때마다 개발·테스트 비용이 반복 증가하는 구조

원인 분석

  • 특정 물류사 로직에 강하게 종속된 설계
  • 공통 처리와 개별 처리가 분리되지 않아 확장 시 기존 코드 영향이 큼
  • 분기 기반 구현으로 유지보수성과 확장성이 떨어지는 상태

해결 방법

  • DeliveryTrackerType, TrackerCacheService, TrackerKafkaProduceService 등으로 행위와 타입 추상화
  • Factory로 타입별 구현체를 조회하고, 공통 로직은 abstract class 또는 Composition으로 분리
  • 클라이언트는 조합된 객체의 단일 메서드만 호출하도록 정리

다음 읽기

#Java 주제를 이어서 읽기

나야, 주문 - 주문시스템의 도전과 성장 이야기

무신사 주문 시스템이 모놀리식에서 MSA, EDA, Kafka, Java 전환까지 단계적으로 개선된 과정을 다뤘습니다. 대규모 트래픽과 이벤트 시즌에서도 안정성과 확장성을 높인 리팩토링 경험을 공유했습니다.

무신사
무신사
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...