템플릿 콜백 패턴

zhzkzhffk·2022년 5월 14일
0

변하지 않는 부분은 템플릿 역할을 합니다. 그리고 변하는 부분은 파라미터로 넘어온 코드를 실행해서 처리한다. 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 콜백이라고 한다.

Callback: 프로그래밍에서 콜백은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드이다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다.

*자바 언어에서 콜백*

  • 실행 가능한 코드를 인수로 넘기려면 객체가 필요하다. 자바8부터는 람다를 사용할 수 있다.
  • 자바 8 이전에는 보통 하나의 메소드를 가진 인터페이스를 구현하고, 익명 내부 클래스를 사용했다
  • 최근 → 람다

*템플릿 콜백 패턴*
Context 문맥 → 변하지 않는 부분이 템플릿 역할을 하고, 콜백을 실행할 때 마다 Strategy 전략의 달라지는 부분이 콜백으로 넘어오는 것

즉 코드 조각을 넘기고 조립하는 것으로 생각하면 된다. 스프링에서는 JdbcTemplate , RestTemplate , TransactionTemplate , RedisTemplate 처럼 다양한 템플릿 콜백 패턴이 사용된다.

profile
Backend Developer

0개의 댓글