Expert
디자인 패턴을 활용한 레거시 코드 리팩토링
프로시저형 스타일의 레거시 코드를 객체 지향 디자인 패턴을 사용해 현대적으로 변환하는 과정을 요청합니다.
📝 프롬프트 내용
다음의 C++로 작성된 스파게티 코드를 분석하고, 전략 패턴(Strategy Pattern)과 옵저버 패턴(Observer Pattern)을 적용하여 리팩토링하십시오. 기존의 조건문(if-else) 중심 로직을 제거하고, SOLID 원칙, 특히 개방-폐쇄 원칙(OCP)과 단일 책임 원칙(SRP)을 준수하는지 설명하십시오. 리팩토링된 코드의 유지보수성 확보 방안과 새로운 기능 추가 시의 이점에 대해 기술하십시오.