2016년 2월 20일 토요일

템플릿 메소드 패턴(template method pattern)

상위 클래스에서 처리의 흐름을 제어하고 하위클래스에서 처리의 내용을 구체화한다.
여러클래스에서  공통되는 사항은 상위 추상클래스에서 구현하고, 각각의 상세부분은 하위클래스로 구현한다, 코드의 중복을 줄이고 리팩토링에서 유리한 패턴으로 상속을 통한 확장 개발 방법으로 전략패턴과 함께 가장 많이 사용되는 패턴중 하나


[abstract class]
+ templateMethod();          
# subMethod();

  ↓↓↓↓↓

[ConcreteClass]
+subMethod();


== source ==
abstract class abcls{
   public templeteMethod(){}
   public abstract subMethod(){}
}

class concls extends abcls{
   @override
   public subMethod(){}
}

댓글 없음:

댓글 쓰기