ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 템플릿 메소드 패턴
    JAVA/Java Design Patterns 2020. 2. 22. 18:26

    Template Method 패턴

     

    • 개념

    어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화 해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴

     

    • 즉, 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다.
    • 다른 관점에서 보면 동일한 기능을 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다.
    • 예를 들어, 전체적인 알고리즘은 상위 클래스에서 구현하면서 다른 부분은 하위 클래스에서 구현할 수 있도록 함으로써 전체적인 알고리즘 코드를 재사용하는 데 유용하도록 한다

     

    조건

    • 클래스는 추상(abstract)로 만든다.
    • 단계를 진행하는 메소드는 수정이 불가능하도록 final 키워드를 추가한다.
    • 각 단계들은 외부는 막고, 자식들만 활용할 수 있도록 protected로 선언한다.

     

     

    피자를 만들 때는 크게 반죽 → 토핑 → 굽기 로 3단계로 이루어져있다.

     

    이 단계는 항상 유지되며, 순서가 바뀔 일은 없다. 물론 실제로는 도우에 따라 반죽이 달라질 수 있겠지만, 일단 모든 피

     

    자의 반죽과 굽기는 동일하다고 가정하자. 그러면 피자 종류에 따라 토핑만 바꾸면 된다

     

     

Designed by Tistory.