배송최적화 시스템 구축기 Part 02. 복잡한 비즈니스 로직에 유연한 디자인 패턴 입히기
복잡한 배송 센터 결정 로직을 전략 패턴과 컴포지트로 분리해 확장성과 유지보수성을 높였습니다. DB 기반 룰 On/Off와 실행 순서 제어로 배포 없이 정책 변경과 성능 최적화도 가능하게 했습니다.
#design패턴#Kotlin#리팩토링
500
design패턴 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
5개 표시
복잡한 배송 센터 결정 로직을 전략 패턴과 컴포지트로 분리해 확장성과 유지보수성을 높였습니다. DB 기반 룰 On/Off와 실행 순서 제어로 배포 없이 정책 변경과 성능 최적화도 가능하게 했습니다.
오버라이딩 가능한 범위를 최대한 제한해야 한다는 점을 설명했습니다. 공통 흐름은 부모가 고정하고 자식은 필요한 부분만 구현하도록 분리하는 것이 좋습니다.

빌더 패턴은 편리하지만 필수 인수 누락을 런타임에 드러내기 쉬워 더 견고한 대안이 필요했습니다. 특별한 이유가 없다면 생성자나 팩토리 함수로 대체하는 방식을 제안했습니다.

새 속성을 추가할 때는 기존 이름이 더 이상 적절한지 함께 살펴야 합니다. 이름을 구체화하고 표시 규칙을 분리하면 버그를 줄일 수 있습니다.

Framework Agnostic 개념을 바탕으로 코어와 어댑터를 분리하는 라이브러리 설계 방식을 소개했습니다. Tanstack Query와 계산기 예시로 프레임워크 독립성과 통합 구조를 설명했습니다.