Strategy 패턴

    [Briefing] API 버전 관리 & 전략 패턴

    🌐 API 버전 관리의 필요성 & 요구사항 AI 뉴스 리더, 브리핑 앱은 출시 1.0.0 버전을 시작으로 1.1.0 업데이트를 한 차례 수행했으며, 2023년도 12월 23일 기준 2.0.0 버전 앱 심사를 요청하고 대기중인 상태입니다. 앱의 버전별로 API 요구사항이 조금씩 달랐고, 서버단에서는 업데이트를 하지 않은 앱 사용자들을 위해 1.x.x, 2.x.x 버전 API를 모두 지원해야했습니다. 요구사항은 아래와 같았습니다. 📰 1.x.x 버전 API 요구사항 GET /briefings 홈 화면 브리핑 목록 조회 v1 해당 날짜의 브리핑 목록을 내려준다. 각 브리핑은 id, 순위, 제목, 부제목 정보를 가진다. GET /briefings/{id} 브리핑 단 건 조회 (상세조회) v1 id에 해당하는 브..

    [Design Pattern] Strategy 패턴

    💡 Strategy 패턴이란? 전략(Strategy) 패턴은 객체 지향 프로그래밍에서 널리 사용되는 디자인 패턴 중 하나입니다. 이 패턴의 핵심은 특정 태스크를 수행하는 알고리즘(전략)을 객체의 행동으로 캡슐화하고, 이를 동적으로 변경할 수 있게 하는 것입니다. 즉, 알고리즘의 변경이 사용자나 클라이언트 코드에 영향을 미치지 않으면서도 알고리즘을 유연하게 교체할 수 있습니다. 이는 '전략'을 정의하는 일련의 클래스들을 생성하고, 이 클래스들이 동일한 인터페이스나 추상 클래스를 구현하도록 함으로써 달성됩니다. 🌟 전략 패턴의 장점 확장성: 새로운 전략을 추가하기 위해 기존 코드를 변경할 필요가 없습니다. 재사용성: 다른 문맥에서도 같은 전략을 재사용할 수 있습니다. 유지보수 용이: 전략을 독립적으로 개발하..