Definition
작업 프레임워크를 알고리즘으로 정의하고 일부 단계는 하위 클래스로 연기합니다. 이를 통해 서브클래스는 알고리즘 구조를 변경하지 않고도 알고리즘의 특정 특정 단계를 재정의할 수 있습니다.
이 디자인 패턴의 역할 구분은 비교적 간단합니다
추상 템플릿 클래스 #🎜 🎜#
/** * Created by tiantian on 2018/7/28 */public abstract class AbstractTemplateMethod { public void templateMethod() { implementedMethod(); abstractMethod(); hookMethod(); // ... more than method invoke } public void anotherTemplateMethod() { // do other things } public abstract void abstractMethod(); public void hookMethod() {} public void implementedMethod() { System.out.println("I have been implemented in TemplateMethod class."); } // ... more than method abstract or implemented.}
role
구현 프로세스
/** * Created by tiantian on 2018/7/28 */public class ConcreteTempleteMethod extends AbstractTemplateMethod { @Override public void abstractMethod() { System.out.println("Do something"); } @Override public void hookMethod() { System.out.println("Do something in hookMethod"); } }
/** * Created by tiantian on 2018/7/28 */public abstract class AbstractTemplateMethod { public void templateMethod() { implementedMethod(); abstractMethod(); hookMethod(); // ... more than method invoke } public void anotherTemplateMethod() { // do other things } public abstract void abstractMethod(); public void hookMethod() {} public void implementedMethod() { System.out.println("I have been implemented in TemplateMethod class."); } // ... more than method abstract or implemented.}
JAVA 디자인 패턴 팩토리 패턴(간단한 팩토리 패턴 + 팩토리 메소드 패턴) #🎜 🎜#
관련 동영상:위 내용은 Java 23 디자인 패턴의 자세한 사례 설명: 템플릿 메소드 패턴(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!