Files
2nd/10_Wiki/Topics/Architecture/Strangler Fig Pattern.md
T

2.2 KiB

Strangler Fig Pattern

📌 Brief Summary

Strangler Fig Pattern(교살자 패턴)은 얽혀있는 거대한 레거시 코드 시스템을 한 번에 모두 재작성(Rewrite)하거나 해결하려 하는 대신, 아주 작은 부분부터 점진적으로 대체해 나가는 코드 개선 및 리팩토링 접근법입니다 [1]. 기존 코드를 서서히 점령해 나가며 테스트 가능한 영역으로 끌어들이는 방식으로, 안전하게 시스템을 현대화하는 데 사용됩니다 [1]. 주어진 소스 데이터에는 이 패턴에 대한 개략적인 개념만 언급되어 있으며, 전반적으로 소스에 관련 정보가 부족합니다.

📖 Core 점진적 레거시 개선 접근

  • 점진적 접근 및 안전한 영역 확장: 교살자 패턴은 레거시 코드라는 거대한 타래를 한꺼번에 풀려고 시도하는 것을 지양합니다 [1]. 대신 스프라우트 메서드(Sprout Method)와 같이 새로운 로직을 별도로 분리된 검증된 함수로 작성하여 기존 코드에서 호출하게 하는 전략 등과 궤를 같이합니다 [1]. 아주 작은 부분부터 테스트의 영역 안으로 끌어들여 기존 시스템을 서서히 점령해 나가는 방식을 취합니다 [1].
  • 재작성(Rewrite)과의 대안적 평가: 유지보수나 변경이 어려운 코드를 만났을 때, 완전히 재작성하는 것이 나을지 파악하기 위한 타임박싱(Timeboxing) 전략의 일환으로 사용될 수 있습니다 [2]. 예를 들어, 1시간은 일반적인 리팩토링에 투자하고, 또 다른 1시간은 교살자 패턴 접근법(Strangler Fig approach)을 시도해 본 뒤, 두 방식 중 더 효과적으로 진척된 방법을 선택하는 식으로 활용할 수 있습니다 [2].

(※ 그 외 교살자 패턴의 구체적인 구현 메커니즘이나 상세 절차에 대해서는 소스에 관련 정보가 부족합니다.)

⚖️ Trade-offs & Caveats

소스에 관련 정보가 부족합니다.

(제공된 소스 데이터에는 Strangler Fig Pattern을 적용할 때 발생할 수 있는 구체적인 부작용, 제약 사항, 혹은 반대 급부(Trade-off)에 대한 설명이 포함되어 있지 않습니다.)


Last updated: 2026-05-03