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

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

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

두줄요약

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

문제 상황

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

원인 분석

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

해결 방법

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

댓글 0

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

댓글을 불러오는 중...