Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

Template Method - 예제1 본문

인프런/[인프런] 스프링 핵심 원리 - 고급

Template Method - 예제1

Seung__ 2021. 11. 22. 16:59

1. Template Method - 예제1


@Slf4j
public class TemplateMethodTest {

    @Test
    void templateMethodV0(){
        logic1();
        logic2();
    }

    /**
     * 시간을 찍는 로직과, 비즈니스 로직이 섞여있음.
     */
    private void logic1(){
        long startTime = System.currentTimeMillis();

        //비즈니스 로직 시행
        log.info("비즈니스 로직1 실행");

        //비즈니스 로직 종료
        long endTime = System.currentTimeMillis();
        long resultTime = endTime - startTime;
        log.info("resultTime = {}", resultTime);

    }

    /**
     * 시간을 찍는 로직과, 비즈니스 로직이 섞여있음.
     */
    private void logic2(){
        long startTime = System.currentTimeMillis();

        //비즈니스 로직 시행
        log.info("비즈니스 로직2 실행");

        //비즈니스 로직 종료
        long endTime = System.currentTimeMillis();
        long resultTime = endTime - startTime;
        log.info("resultTime = {}", resultTime);

    }

}

 

 

2. 정리


  • logic1() 과 logic2() 는 시간을 측정하는 부분과 비즈니스 로직을 실행하는 부분이 함께 존재한다.
    • 변하는 부분: 비즈니스 로직
    • 변하지 않는 부분: 시간 측정

 

 

3. GitHub : 211122 TemplateMethodPattern


 

 

GitHub - bsh6463/Spring_Advanced: initial

initial. Contribute to bsh6463/Spring_Advanced development by creating an account on GitHub.

github.com

 

Comments