TIL

2021.07.14 기록장

Gisungcu 2021. 7. 13. 23:02

ToDo

  • 알고리즘..
  • 책 읽기
  • 토비의 스프링

Done

  • 알고리즘
  • 토비의 스프링

Weekly goal

  • 책 읽기
  • 토비 스프링 코딩
  • 플젝?

 

토비의 스프링

 

전략 패턴으로 변하는 것과 변하지 않는 것을 분리했다.

근데 매번 전략(바뀌는 것)을 새로 만들어 사용하고, 콘텍스트(바뀌지 않는 것) 호출하면서 DI 하는 방식을

템플릿/콜백 패턴이라고 한다.

 

템플릿 : 어떤 목적을 위해 미리 만들어둔 모양이 있는 틀

콜백 : 실행되는 것을 목적으로 다른 오브젝트의 메서드에 전달되는 오브젝트

 

전략 패턴과의 차이점은 전략 패턴은 여러 개의 메서드를 가진 일반적인 인터페이스를 사용한다.

템플릿/콜백 패턴은 콜백이 단일 메서드 인터페이스를 사용한다.(메서드 안에서 익명 구현 객체로) 

그렇기에 클라이언트와 콜백이 강하게 결합된다.

 

전략 패턴은 인터페이스의 구현체를 만들어 바꿔 끼운다면 템플릿/콜백 패턴은 콜백(메서드, 익명 구현 객체)을 바꿔 끼운다.

매번 다른 전략을 사용하고 있다.