• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

24.03.26 09:20 작성 조회수 125

0

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

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

답변 2

·

답변을 작성해보세요.

1

플하님의 프로필

플하

질문자

2024.03.26

와 감사합니다

0

y2gcoder님의 프로필

y2gcoder

2024.03.26

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

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

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

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

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

감사합니다.