티스토리 툴바



 

행위 Behavioral 군에 속한 디자인 패턴입니다. 


안티디자인패턴에서의 정의 
대부분은 고정적으로 되어 있고 한부분만 구현을 상속한 클래스에 맡기는것. 

추상화 클래스를 만들고 구체적은 구현은 이를 상속한 클래스를에서 
정의 하는것! 


헤드 퍼스트에서는
알고리즘을 캡슐화 해서 서브클래스에서는 언제 든지 가져다 쓸수 있도록 한다
그 예시로
차와 커피를 만드는 방법을 예로 들고 있습니다.  

---------------------------------------------------------

여기 까지의 정의를 보고 처음에 템플릿 메소드가 단지 추상화클래스의(abstract class) 안에 있는 abstract Method를 나타 내는 건줄 알았는데 그보다 좀더 나가야 정확안 의미로 받아 들일수
있겟더군요

바로 추상화 클래스에 있는 메소드중에
일련의 처리를 위한 메소드에서  
다른 여러 메소드를 호출하고 그 호출되는 메소드들이 추상화 메소드를 이룰때.

바로 일련의 처리를 위한 메소드를 템플릿 메소드라고 하네요 .

그리고 추가적으로 템플릿 메소드를 서브 클래스에서 수정하지 못하도록  하려면
final을 선언 해버린다네요.

추가적으로
1 후크가 있습니다.
  이는 템플릿 메소드 패턴에서  서브 클래스에서 알고리즘에 추가적인 내용을 첨가하기 위해서
  설계자가 허용한 구조 입니다.
  즉 전체적인 알고리즘의 흐름은 방해하지않고 약간의 첨가만을 위해서 준비 된것입니다.
  음... 알고리즘중에 특정부부을 선택적으로 사용하기 위해서 준비된 부분이 후크입니다. 


그리고 프레임워크에서 많이 쓰인다네요 .
그 이유가 
작업이 처리되는 방향을 제어 할수 있고(템플릿메소드와 후크를 가지고 있는 추상화 클래스)
프레임 워크에서 처리하는 알고리즘의 각 단계는 그 프레임 워크를 사용하는 사람 마음대로
처리 할수 있기 때문입니다. 

팩토리 메소드 패턴은 특화된 템플릿 메소드 이다?

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by First_ReSet Trackback 0 : Comment 0
prev 1 2 3 4 5 ... 108 next