본문 바로가기
java/디자인패턴

템플릿 메서드 패턴

by 문자메일 2022. 10. 2.

템플릿 메서드 패턴 : 부모 클래스에 변하지 않는 코드를 두고, 변하는 부분은 자식 클래스에서 상속과 오버라이딩을 사용해서 처리하는 패턴, 상속과 오버라이딩을 통한 다형성으로 문제를 해결함.

아래 코드에서 execute() 부분은 변하지 않는 부분이고, call()부분은 자식에서 상속받아서 사용할 변하는 부분이다.

public abstract class AbstractTemplate {
    public void execute(){
        long startTime = System.currentTimeMillis();
        //비즈니스 로직 실행
        call(); // 상속
        //비즈니스 로직 종료
        long endTime = System.currentTimeMillis();
        long resultTime = endTime - startTime;
        log.info("resultTime={}", resultTime);
    }

    protected abstract void call();
}

 

'java > 디자인패턴' 카테고리의 다른 글

어뎁터 패턴 (adapter pattern)  (0) 2023.02.03
프록시, 데코레이터 패턴  (0) 2022.10.09
전략 패턴, 템플릿 콜백 패턴  (0) 2022.10.08
전략 패턴  (0) 2022.10.03
전략 패턴(Strategy pattern)  (0) 2022.08.19

댓글