2015년 10월 10일 토요일

3.Template Method 패턴

상위클래스는 처리의 흐름이 정의 되어 있는 추상클래스이고 ,하위 클래스는 사우이클래스를 상속받아 구체적인 처리를 구현한 클래스가 된다.

따라서 상위 클래스는 하위 클래스가 실제적으로 어떤 구체적인 작업을 하는지 모르며, 서로 다른 하위 클래스들은 나름대로의 방식대로 구현하되 처리의 흐름은 상위 클래스에 정의된대로 따르게 된다.

즉, 탬플릿의 주체가 되는 콘트롤러 의 성격을 띄는 상위클래스에서 흐름을 관장하고, 상속받은 실제 하위 클래스에서는 상위클래스에서 정의된 순서와 규정에 맞게 오버라이딩 하고, 추가 기능등을 구현하게 된다.

따라서 일련의 상속받은 하위 클래스들은 모두 상위 클래스의 템플릿구성대로 구현과 실행하게 되는 패턴이다.

구조가 일관적인 형식의 제품이나 기능들을만들때 주로 사용하는 패턴이다.

Abstract  UpperClass {

abstract public function init();
abstract public function run();
abstract public function end();
final function showMain(){
this->init();
this->run();
this->end();

}
protected int sharedVal = 0; //하위 클래스에서 공통으로 공유하는 변수등.

}

추상클래스인 UpperClass 에는 오버라이디이 불가능한 final 인 showMain 에 정의된 초기와->실행->종료 라는 템플릿으로 하위 클래스에서 실행되도록 구현된것이다.

하위 클래스는 추상메쏘드 들을 각 상황에 맞에 오버라이딩 한다음 showMain() 을 실행하여 동일한 실행 프로세스를 가질수 있도록 했다.

 

http://copynull.tistory.com/124

http://egloos.zum.com/iilii/v/3806897

http://secretroute.tistory.com/entry/Head-First-Design-Patterns-%EC%A0%9C8%EC%9E%A5-Template-Method-%ED%8C%A8%ED%84%B4

http://blog.jdm.kr/116

http://skmagic.tistory.com/entry/Template-Method-Pattern-Class-%EC%A0%95%EB%A6%AC%EB%B3%B8

http://darkneo.tistory.com/7

Related Posts:

  • 6. Factory patternhttp://arnakiel.blogspot.kr/2010/01/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4%EC%9D%98-%EB%84%A4%EB%B2%88%EC%A7%B8-%ED%8C%A9%ED%86%A0%EB%A6%AC-%ED%8C%A8%ED%84%B4factory-pattern-1.htmlhttp://outliers.tistory.com/14… Read More
  • 3.Template Method 패턴상위클래스는 처리의 흐름이 정의 되어 있는 추상클래스이고 ,하위 클래스는 사우이클래스를 상속받아 구체적인 처리를 구현한 클래스가 된다.따라서 상위 클래스는 하위 클래스가 실제적으로 어떤 구체적인 작업을 하는지 모르며, 서로 다른 하위 클래스들은 나름대로의 방식대로 구현하되 처리의 흐름은 상위 클래스에 정의된대로 따르게 된다.즉, 탬플릿의 주체가 되는 콘트롤러 의 성격을 띄는 상위클래스에서 흐름을 관장… Read More
  • 5.Decorator pattern참고. http://warmz.tistory.com/757 (*발췌 ava.io 패키지에는 어마어마하게 많은 클래스들이 있지만, 많은 부분이 데코레이터 패턴을 바탕으로 만들어져 있다.)http://stevenjsmin.tistory.com/73http://donxu.tistory.com/96http://code.tutsplus.com/tutorials/design-patterns-the-decorat… Read More
  • 2.옵저버 패턴 (Observer Pattern)하나의 객체가 변경사항이 생기면 다른객체에 전달하여 적절한 액션을 취할수 있도록 하는 패턴이다.주로 발행한다. 는 의미가 강함http://warmz.tistory.com/751 , http://wiki.gurubee.net/pages/viewpage.action?pageId=1507370 의 알람옵저버패턴을 보면이해가 될것이다.http://hyeonstorage.tistory.com/165http:/… Read More
  • 4.adaptter pattern유지보수 또는 향후 확장성 차원에서 어답터 라는 인터페이스를 통해서 추가로 발생되는 기능이나 기존의 기능에 유연하게 대처할수 있도록 해준다.추상클래스를 상속받은 기존의 클래스에는  새로운 기능(220볼트 플러그인과같은)이 없기 때문에 , 애덥터 클래스를 새로 추가하여 그 안에 220 둥그런 돼지코 를 110 의 | | 돼지코로 호환되는 구현부를 만들어서 기존 클래스에서 하던방식대로 연결하는 패턴임.h… Read More

0 comments:

댓글 쓰기