- 템플릿/콜백 패턴: 전략 패턴의 기본 구조에 익명 내부 클래스를 활용한 방식이다. 템플릿/콜백 패턴은 DI 방식의 전략 패턴 구조다. 클라이언트가 템플릿 메소드를 호출하면서 콜백 오브젝트를 전달하는 방식으로 메소드 레벨에서 일어나는 DI다.
- 템플릿: 어떤 목적을 위해 미리 만들어둔 모양이 있는 틀을 가리킨다. 템플릿 메소드 패턴은 고정된 틀의 로직을 가진 템플릿 메소드를 슈퍼클래스에 두고, 바뀌는 부분을 서브 클래스의 메소드에 두는 구조로 이루어진다.
- 콜백: 실행되는 것을 목적으로 다른 오브젝트의 메소드에 전달되는 오브젝트를 말한다. 자바에선 메소드 자체를 파라미터로 넘기지 못하기 때문에 메소드가 담긴 오브젝트를 넘긴다. 그래서 펑셔널 오브젝트라고도 한다.
- 템플릿/콜백 방식은 전략 패턴과 DI의 장점을 익명 클래스 사용 전략과 결합한 독특한 활용법이라고 이해할 수 있다. 이 패턴을 통해 변하는 것과 변하지 않는 것을 분리하고 변하지 않는 건 유연하게 재활용할 수 있는 설계를 할 수 있게된다.
- Spring은 JDBC를 이용하는 DAO에서 사용할 수 있도록 준비된 다양한 템플릿과 롤백을 지원한다. JDBC용 기본 템플릿은 JdbcTemplate다.
comments powered by