inblog logo
|
code-sudal
    design pattern

    탬플릿 메서드 패턴

    윤주헌's avatar
    윤주헌
    Aug 14, 2024
    탬플릿 메서드 패턴
    Contents
    탬플릿?그림 설명
    이전 캡슐화와 이어지니 참고바람

    탬플릿?

    💡
    반복적인 작업을 간편하게 하기 위해 미리 정의된 틀이나 형식
     
    자식들이 사용하고 있는 것을 공통적으로 끌어올리는 것이다.
     
    공통적인 것이 뭐가 있는가?
    입장하기 출석 부르기, 퇴장하기, 수업하기가 있고
    강의하기 빼고 다 공통적이다
     
    그래서 teacher 추상 메서드를 만들었다
    package ex05.teacher; public abstract class Teacher { public abstract void 수업하기(); public abstract void 입장하기(); public abstract void 출석하기(); public abstract void 강의하기(); public abstract void 퇴장하기(); }
    이 친구를 상속해서 만들어라
    근데 강의하기 빼고 수업, 입장, 출석, 퇴장은 모든 선생님들이 사용한다
     
    강의만 누가 어떤 것을 할지 모르겠으니
    package ex05.teacher; //이게 바로 탬플릿이다!! jsp로 탬플릿 메서드 패턴 가운대만 바뀌는 것이니까 public abstract class Teacher { public void 수업하기(){ 입장하기(); 출석부르기(); 강의하기(); 퇴장하기(); } public void 입장하기(){ System.out.println("입장하기"); } public void 출석부르기(){ System.out.println("출석부르기"); } public abstract void 강의하기(); public void 퇴장하기(){ System.out.println("퇴장하기"); } }
    public abstract void 강의하기(); 재정의 해주고 다른 것은 재정의 할 필요 없음
    공통적인 것을 뽑아내면서 만드는 것이 부모다

    보통은

    부모를 만들고 자식을 만드는게 상속이라는 것인데 반대로 자식을 먼저 만들고 부모 만든다
    @@구체적인 것들 중 공통적인 것을 뽑아 내서 사용한다@
     
    개발할 때 모든 것을 생각하고 만들지는 않는다 어차피 수많은 변수들이 나오기 때문에
     
    위에서 내려오는 명령 모든 것 그대로 만들어라 → 폭포수 모델
     
    1~2 2~3 단계별로 쪼개고 각 단계 핵심 로직만 빼고 이걸로 프로토 타입을 만든다 (금방 만든다)
    → 이것의 장점은? 피드백을 빨리 받을 수 있다(협업할 때 필요한 것 방식 등을 알 수 있다.)
     

    그림 설명

    notion image
     
    Share article

    code-sudal

    RSS·Powered by Inblog