디자인패턴)탬플릿 메소드 패턴

2020. 5. 4. 21:24Java

반응형

탬플릿 메소드 패턴
template method pattern
알고리즘의 구조를 메소드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의하는 패턴

이럴때 사용)
-구현하려는 알고리즘이 일정한 프로세스가 있다.
-구현하려는 알고리즘이 변경 가능성이 있다.

단계)
-알고리즘을 여러단계로 나눈다.
-나눠진 알고리즘의 단계를 메소드로 선언한다.
-알고리즘을 수행할 템플릿 메소드를 만든다.
-하위클래스에서 나눠진 메소드들을 구현한다.


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

public abstract class 접속헬퍼{
protected abstract 보안단계
//외부에서 호출하면 안되는데, 하위에서 재정의해야함(protected)
//함수들은 선언만 해놓음. 구현x
protected abstract 인증단계
protected abstract 권한단계
protected abstract 접속단계

//탬플릿 메소드
public string requestConnection(string str){
보안단계(str);
.... //인증과정 등 함수실행

return connection();
}
}

public class 하위클래스 extends 접속헬퍼{
@Override
protected String 보안단계(){
//구현
}
//타 메소드들도 구현함.
}
=>메인은 위와 다른 패키지로 사용해야함
(라이브러리 형태로 사용함. protected로 선언된 함수들에 접근하지 못하게 하기위해)

 

반응형

'Java' 카테고리의 다른 글

디자인패턴) 전략패턴  (0) 2020.05.03