전략패턴과 Templet 콜백에 관한 기초적인 질문 드립니다...

297 views
Skip to first unread message

야구쟁이

unread,
Mar 14, 2011, 9:09:38 PM3/14/11
to Korea Spring User Group
전략 패턴은 자신의 기능 맥락에서 필요에 따라 변경이 필요한 알고리즘을 인터페이스를 통해 외부로 분리시키고 이를 구현한 구체적
인 클래스를 필요에 따라 바꿔서 사용할 수 있게 하는 디자인 패턴이라고 되어있습니다

템플릿 콜백 또한 인터페이스를 정의하고 그를 구현한 구체 클래스들을 이용하여 필요에 따라 바꿔쓸수 있는것으로 알고있습니다...

저는 이 두가지 방법의 차이점이 궁금합니다... 제가 이해가 부족해서 도무지 생각이 나질 않습니다

고수님들의 많은 조언 부탁드립니다

이재일

unread,
Mar 14, 2011, 9:23:09 PM3/14/11
to Korea Spring User Group
안녕하세요. 반갑습니다.
일단 예전부터 많이 회자 되었던 내용이라 혹시나 검색을 해보니 대부분 토비의 스프링3에 관련된 이야기가 많이 나오네요.

탬플릿 콜백도 전략패턴의 개념(?)이지만 로직을 갈아끼우는 개념을 내부 익명클래스로 간편하게 갈아 끼우는 형태가 많이 나와서 탬
플릿/콜백 패턴이라고 정형화 시켰다고 하네요.

자세한 이야기가 많이 있겠지만. 검색 엔진에서 건진 내용을 걸어봅니다.

http://code.google.com/p/developerhaus/wiki/TobySpring_03

토비의 스프링3 에 3장에 내용에 간추린 내용인데요. 탬플릿/콜백 부분을 눈여겨 보시기 바랍니다.

Sewon Ann

unread,
Mar 14, 2011, 9:26:10 PM3/14/11
to ks...@googlegroups.com, 야구쟁이
제 설명은 부족할 듯 싶어 dzone design pattern refcard 의 두 패턴 부분을 캡쳐했습니다.
그런데 다시 보니 질문이 전략 패턴 vs. 템플릿 패턴 이 아니라 전략 패턴 vs. 템플릿 콜백이네요. 하핫;;;
 
toby님이 KSUG에 관련 퀴즈를 내셨었던 것으로 기억합니다. 그 때에도 아마 전략 패턴으로 이야기가 모아지지 않았던가 하네요.

방금 검색해보니 박재성님의 글도 걸립니다. 설명 좋네요~

따라서 '템플릿 콜백은 전략 패턴을 이용한 구현 패턴의 하나로,  하나의 메서드 만을 가진 Strategy 구현체를 이용한다' 로 보면 되지 않을까 싶네요.

기선님의 글도 좋군요.

2011/3/15 야구쟁이 <jich...@gmail.com>

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.


design_pattern.png

이재일

unread,
Mar 14, 2011, 9:26:26 PM3/14/11
to Korea Spring User Group
좀더 자세한 설명이 있네요.

http://elaia.tistory.com/70

Sungchul Park

unread,
Mar 14, 2011, 9:29:53 PM3/14/11
to ks...@googlegroups.com
전 그때 템플릿 콜백이 전략 패턴이 아니라고 우기는 편에 있었죠! ㅋㅋ
이 주제로 예전 포럼 시절에 한 번, 그룹스로 옮긴 후에 한 번, 이렇게 두 번 토론이 있었습니다.

그룹스 검색이 잘 되면 찾아 읽어보시면 될 것 같은데... 흠...
제 설명은 부족할 듯 싶어 dzone design pattern refcard 의 두 패턴 부분을 캡쳐했습니다.
그런데 다시 보니 질문이 전략 패턴 vs. 템플릿 패턴 이 아니라 전략 패턴 vs. 템플릿 콜백이네요. 하핫;;;
 
toby님이 KSUG에 관련 퀴즈를 내셨었던 것으로 기억합니다. 그 때에도 아마 전략 패턴으로 이야기가 모아지지 않았던가 하네요.

방금 검색해보니 박재성님의 글도 걸립니다. 설명 좋네요~

따라서 '템플릿 콜백은 전략 패턴을 이용한 구현 패턴의 하나로,  하나의 메서드 만을 가진 Strategy 구현체를 이용한다' 로 보면 되지 않을까 싶네요.

기선님의 글도 좋군요.

2011/3/15 야구쟁이 <jich...@gmail.com>
전략 패턴은 자신의 기능 맥락에서 필요에 따라 변경이 필요한 알고리즘을 인터페이스를 통해 외부로 분리시키고 이를 구현한 구체적
인 클래스를 필요에 따라 바꿔서 사용할 수 있게 하는 디자인 패턴이라고 되어있습니다

템플릿 콜백 또한 인터페이스를 정의하고 그를 구현한 구체 클래스들을 이용하여 필요에 따라 바꿔쓸수 있는것으로 알고있습니다...

저는 이 두가지 방법의 차이점이 궁금합니다... 제가 이해가 부족해서 도무지 생각이 나질 않습니다

고수님들의 많은 조언 부탁드립니다

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으) 로 이메일을 보내세요.

그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에 서 그룹을 방문하세요.

고종봉

unread,
Mar 14, 2011, 10:39:58 PM3/14/11
to ks...@googlegroups.com
제가 이해한 것은,,

템플릿/콜백 패턴에서 콜백은

템플릿에 제공해서 템플릿 내에서 호출을 되돌려 받는(callback) 형태를 말하는 것 같습니다.

다시 말해,, 어떤 패턴을 템플릿화 해놓고 호출하는데,, 템플릿 내에서 변하는 요소들을, 호출하는 클라이언트가

직접 만들어 제공하게 됨으로써,, 템플릿은 클라이언트가 제공한(클라이언트에 속해있던) 전략을(이것이 콜백)

콜백의 방향으로(역으로) 호출하는 것..

을 말하는게 아닐까라고 이해했습니다.. (토비스프링 3장.. 이었죠??)

2011년 3월 15일 오전 10:29, Sungchul Park <gyu...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages