인프런 커뮤니티 질문&답변

플하님의 프로필 이미지
플하

작성한 질문수

스프링 핵심 원리 - 고급편

템플릿 콜백 패턴 - 시작

ContextV1 은 템플릿 콜백 패턴이 아닌가요?

작성

·

214

0

ContextV2는 템플릿 콜백 패턴이라고 하셨는데

ContextV1 은 템플릿 콜백 패턴이 아닌가요?

답변 2

1

플하님의 프로필 이미지
플하
질문자

와 감사합니다

1

안녕하세요. 리어스리님, 공식 서포터즈 y2gcoder입니다.

강의에서 확인하실 수 있듯이 템플릿 콜백 패턴은 전략 패턴 중 템플릿과 콜백 부분에 더 집중한 패턴입니다. ContextV1에서는 내부 필드에 Strategy를 두고 주입해서 사용하고 있고, ContextV2에서는 아예 필드 내부에 Strategy에 대한 필드를 두지 않고 메서드 실행(템플릿) 시 파라미터로 전략(콜백)을 받아 실행할 수 있도록 했습니다.

이로써 ContextV2에는 먼저 선조립해놓을 필요 없이 정해진 템플릿을 실행할 때 달라지는 코드 실행 조각(콜백)을 전달해서 유연하게 실행할 수 있게 되었습니다.

이러한 전략 패턴 중 일부 방식을 스프링에서 템플릿 콜백 패턴이라고 부르고 있습니다.

따라서 ContextV2 의 방식대로 구현되어 있는 것을 템플릿 콜백 패턴이라고 볼 수 있을 것 같습니다!

감사합니다.

플하님의 프로필 이미지
플하

작성한 질문수

질문하기