템플릿 메소드(Template method) 패턴
Algorithm 구조를 서브 클래스가 확장할 수 있도록 템플릿으로 제공하는 방법
추상 클래스는 템플릿을 제공하고 하위 클래스는 구체적인 Algorithm을 제공한다.
템플릿 콜백(Template-Callback) 패턴
콜백으로 상속 대신 위임을 사용하는 템플릿 패턴
상속 대신 익명 내부 클래스 또는 람다 표현식을 활용할 수 있다.
구현 방법
장단점
장점
- 템플릿 코드를 재사용하고 중복 코드를 줄일 수 있다.
- 템플릿 코드를 변경하지 않고 상속을 받아서 구체적인 Algorithm만 변경할 수 있다.
단점
- 리스코프 치환 원칙을 위반할 수도 있다.
- 하위 클래스에서 의도치 않은 행동으로 상속할 경우 발생 (final로 상속을 막으면 어느정도 방지 가능)
- 알고리듬 구조가 복잡할수록 템플릿을 유지하기 어려워진다.
실무 적용 사례
- 자바
- HttpServlet
- 스프링
- 템플릿 메소드 패턴
- Configuration
- 템플릿 콜백 패턴
- JdbcTemplate
- RestTemplate
- 템플릿 메소드 패턴
예제 코드
'GoF의 디자인 패턴' 카테고리의 다른 글
브릿지(Bridge) 패턴 (0) | 2022.01.29 |
---|---|
퍼사드 패턴 (0) | 2022.01.28 |
어댑터(Adapter) 패턴 (0) | 2022.01.13 |
프로토타입(Prototype) 패턴 (0) | 2022.01.10 |
빌더(Builder) 패턴 (0) | 2022.01.08 |
댓글