-
[Design Pattern] Template Method공부 !/Computer Science 2022. 5. 26. 17:31반응형
Template Method
GoF 디자인 패턴에 의하면 Template Method 란 !
알고리즘의 구조를 메소드에 정의하고 하위클래스에서 알고리즘의 구조의 변경없이
알고리즘을 재정의하는 패턴이다 알고리즘이 단계별로 나누어지거나 같은 역할을 하는 메소드지만
여러 곳에서 다른형태로 사용이 필요한 경우 유용한 패턴이다
즉 하위 클래스에서 사용되지만 변하지 않는 기능은 상위클래스에 저장해두고
확장할 기능을 서브 클래스에서 만들도록 설계한다는 뜻이다전체적인 레이아웃을 통일하지만 상속받은 클래스는 hook 메서드를 이용하여 확장할 수 있도록
유연성을 주는 디자인 패턴으로 이해하면된다
AbstractClass
- 템플릿 메서드를 정의하는 클래스
- 상위 클래스에 공통 알고리즘을 정의하고 하위 클래스에서 구현될 기능을 primitive 메서드 또는 hook 메서드로 정의하는 클래스
ConcreteClass
- 물려 받은 primitive 메서드 또는 hook 메서드를 구현하는 클래스
- 상위 클래스에 구현된 템플릿 메서드의 일반적인 알고리즘에서 하위 클래스에 적합하게 primitive 메서드나 hook 메서드를 오버라이드하는 클래스
반응형'공부 ! > Computer Science' 카테고리의 다른 글
[ 소프트웨어 공학] 개발 단계에 따른 테스트 & 블랙박스테스트 / 화이트박스 테스트 (0) 2022.06.02 [Design Pattern] Factory Method (0) 2022.05.26 [Design Pattern] MVC (0) 2022.05.26 [ CS 기술면접 ] 네트워크 예상질문 모음 2 ! (0) 2022.05.22 [ CS 기술면접 ] 네트워크 예상질문 모음 1 ! (0) 2022.05.22