반응형

Template이란??
일상생활에서도 많이 쓴다. 특히 PPT만들때 많이들 사용하는것처럼 
무엇인가 정형화된 틀이라고 생각하면 될것 같다. 

상위클래스에서 abstract 메소드를 정의해서 상속받는 하위 클래스들에게 그것을 구현할
책임을 부여해주는것... 이게 Template Method 패턴의 핵심인듯 하다.
뭐 책을 보니 이것을 Subclass Responsibility라고 한다고 하네???

Abstract Class A{
abstract method1;
template method;
}

ConcreateClass extends A{
method{....}
}

뭐 이런 구조다...그냥 살펴보면 참 간단한 패턴.. 하지만 실제 적용하려면... 참 머리 뽀개지겠구나..
그리고 예전에 내가 생각없이 Copy&Paste했던 코드들이 머리속에 떠오른다.. 
정말 무식하게 똑깥이 쓸때없이 복사했던 코드들...

상위 클래스에 좀더 많은것을 두느냐, 아니면 하위클래스에서 좀더 많은 기능을 두느냐는 
어떤 프로그램이냐에 따라 달라지겠지만 적정선에서 분배하지 않으면 다시 같은 기능들이
한쪽에 몰려서 수정할때 걷잡을수 없는 노가다를 초래하게 만들것 같다.

하지만 template이라는 이름 답게 상위클래스에는 틀만 갖춰두고
최대한 하위 클래스에서 기능에 맞게 구현을 하는것이 맞지 않을까 생각이 든다.
728x90
반응형

'Development > Design Pattern' 카테고리의 다른 글

Strategy Pattern  (0) 2013.07.02
[데코레이터 패턴]  (0) 2013.06.26
Factory Method Pattern  (0) 2011.08.30
Decorator Pattern  (0) 2011.08.30

+ Recent posts