5. 템플릿
1. 다시 보는 개방 폐쇄 원칙(OCP)

템플릿
2. WebApiExRateProvider 리팩토링
기존 WebApiExRateProvider 클래스 리팩토링 포인트
WebApiExRateProvider 클래스 리팩토링 포인트 3. 변하는 코드 분리하기 - 메서드 추출
WebApiExRateProvider 구성
변하는 성격을 가진 코드를 메서드로 추출하자.
4. 변하지 않는 코드 분리하기 - 메서드 추출
템플릿?
템플릿 메서드 패턴?
변하지 않는 성격을 가진 코드를 메서드로 추출하자.
5. ApiExecutor 분리 - 인터페이스 도입과 클래스 분리
변경 가능한 콜백 메서드의 내용을 인터페이스로 분리하자.
6. ApiExecutor 콜백과 메서드 주입
콜백?
템플릿 콜백 패턴은 전략 패턴의 특별한 케이스
메서드 주입
템플릿 내에 구체화된 코드를 템플릿을 사용하는 쪽(Client)으로 분리하자.
7. ExRateExtractor 콜백
템플릿 콜백 패턴 작업 흐름
템플릿 콜백 패턴의 작업 흐름을 살펴보자.

ExRateExtractor 콜백
8. ApiTemplate
ApiTemplate 의 설명
템플릿 분리
템플릿을 분리해보자.
콜백 변경
기존 SimpleApiExecutor 는 자바에서 제공하는 가장 기본적인 방법으로 API 를 호출했다.
SimpleApiExecutor 는 자바에서 제공하는 가장 기본적인 방법으로 API 를 호출했다. ApiExecutor 콜백 추가
9. 디폴트 콜백과 템플릿 빈
디폴트 콜백
템플릿 빈
10. 스프링이 제공하는 템플릿
RestTemplate
JdbcTemplate
TransactionTemplate
이 외에도 수 많은 템플릿을 스프링이 제공한다.
Last updated