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

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

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

두줄요약

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

문제 상황

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

원인 분석

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

해결 방법

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

다음 읽기

#리팩토링 주제를 다룬 다른 회사 글

배송최적화 시스템 구축기 Part 02. 복잡한 비즈니스 로직에 유연한 디자인 패턴 입히기

복잡한 배송 센터 결정 로직을 전략 패턴과 컴포지트로 분리해 확장성과 유지보수성을 높였습니다. DB 기반 룰 On/Off와 실행 순서 제어로 배포 없이 정책 변경과 성능 최적화도 가능하게 했습니다.

올리브영
올리브영
아키텍처

댓글 0개

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

댓글을 불러오는 중...