[Spring] 템플릿 메소드 패턴과 전략 패턴에 대한 정리 With Spring
2025. 12. 13. 23:11
Spring
1. 들어가며이번 글에서는 스프링 내부 구현에서 템플릿 메서드 패턴과 전략 패턴이 어떻게 사용되고 있는지 살펴보고, 각각이 선택된 이유를 내 뇌피셜과 함께 정리해보려 한다. 이를 통해 실제 코드를 작성할 때 “템플릿 메서드를 쓸까”, “전략 패턴을 쓸까” 와 같은 고민의 지점을 구조화하고, 결과적으로 유지보수성이 더 높은 방향으로 설계할 수 있는 기준을 세우는 것이 목적이다. 2. 템플릿 메서드 패턴과 전략 패턴 간단 요약스프링 내부 구현을 보기 전에 템플릿 메서드 패턴과 전략 패턴이 무엇인지에 대해 간단히 요약하고 들어가겠다.2.1 템플릿 메서드 패턴 (Template Method Pattern)템플릿 메서드 패턴은 상위 클래스가 전체 흐름(알고리즘 골격)을 정의하고, 하위 클래스는 그 중 변하는 부분..
[Spring & Project] 소셜로그인 기능에 전략 패턴을 적용하기
2023. 2. 18. 03:44
Spring/Project
0. 들어가며🏃🏻♂️ 진행했던 프로젝트에서 구글과 카카오 소셜로그인 기능을 구현했었는데 해당 코드를 다시 살펴보며 리팩토링하면 좋겠다 싶은 부분을 발견했습니다. 이번 글에서는 디자인 패턴 중 하나인 전략 패턴(Strategy Pattern)을 적용해 리팩토링해본 경험을 정리해보려 합니다. 1. 기존의 코드는..🤔 기존 코드에서는 구글 로그인과 카카오 로그인을 각각 다른 API로 처리하였습니다. 간략하게 아래와 같은 형태였죠. @GetMapping("/google/login") fun googleLogin(...) { 구글 로그인... } @GetMapping("/kakao/login") fun kakaoLogin(...) { 카카오 로그인... } 기능은 잘 동작했지만, 거의 같은 기능을 하는 API가..