반응형
https://redbinalgorithm.tistory.com/721
이전에는 전략 패턴에 대해서 배웠다. Interface로 설계한 전략 아래 다향한 전략을 바꿔가면서 Context에서 호출하면서 사용한다.
이번에는 템플릿 콜백 패턴에 대해서 배워보겠다. 템플릿 콜백 패턴은 전략패턴과 다를게 없지만 DI(Dependency injection) 의존성 주입에서 사용하는 특별한 전략 패턴입니다.
스프링은 이러한 템플릿 콜백 패턴을 사용해서 여러 의존성들을 주입하고 있습니다.
왜 콜백일까?? 전략패턴의 전략들이 Clinet 쪽 (뒤에서 ) 실행 된다고 해서 call back이라고 한다고 한다..
Context가 템플릿 역할, Strategy 뒤로 넘어간다. 스프링은 이방법을 사용한다.. 그래서
JdbcTemplate, RestTemplate, TransactionTemplate, RedisTemplate... 등 정말 많다. 그래서 템플릿 즉 콜백패턴을 알면 스프링을 이해하는데 도움이 된다.
void callback() {
XXXTemplate tempalte = new XXXTemplate();
template.execute(() -> {
// 비즈니스 로직 실행
});
}
전략 패턴과 완전 똑같고 람다식을 적용하면 템플릿 콜백 패턴이라고 스프링에서 사용하는 전략패턴을 의미한다.
결론
전략 패턴의 context == 콜백 패턴의 template
전략 패턴의 Strategy == 콜백 패턴의 CallBack
이라고 정리하며면 되겠다.
반응형
'개인공부' 카테고리의 다른 글
인터페이스 프록시 VS 클래스 기반 프록시 패턴 (0) | 2022.05.15 |
---|---|
프록시 패턴 / 데코레이터 패턴 (0) | 2022.03.28 |
전략 패턴 (0) | 2022.03.28 |
템플릿 메서드 패턴 (2) | 2022.03.28 |
MYSQL WHERE 조건 이해 (2) | 2022.03.15 |