전략 패턴을 이용해서 요구사항 대응하기
프로젝트를 진행하다가 요구사항이 변경되었다. 기존 요구사항은 "식사 등록시 한 식사에 대해 인 분(multiple)이란 단위만을 사용하는 것이었다." 요구사항은 "식사 등록시 각 음식에 대해 인 분(multiple) 또는 g(무게) 단위를 사용하는 것"으로 바뀌었다.식사를 등록할 때 단위는 얼마든지 바뀌거나 수정될 수 있다. 문제는 바뀐 요구사항에의해 음식의 영양소를 분석하는 기존 로직을 수정해야한다는 것이었다.이는 OSP(Open Closed Principle)에 위배된다. 따라서, 전략 패턴을 사용해 새로운 "단위"가 도입되더라도 변경이 최소화되도록 코드를 개선하였다. 전략 패턴 전략 패턴은 실행 중에 알고리즘 전략을 선택하여 객체 동작을 실시간으로 바뀌도록 할 수 있게 해주는 디자인 패턴이다. 전략..
2024.06.01