template模板模式 - java模式
- 模板模式
AbstractClass.java
package com.mark.pattern.templateMethod;
/**
* 模板模式
* 父類提供模板
* 子類提供步驟
*/
public abstract class AbstractClass {
public void template() {
this.method1();
this.method2();
this.method3();
}
public abstract void method1();
public abstract void method2();
public abstract void method3();
}
ConcreteClass.java
package com.mark.pattern.templateMethod;
public class ConcreteClass extends AbstractClass{
@Override
public void method1() {
System.out.println("step 1");
}
@Override
public void method2() {
System.out.println("step 2");
}
@Override
public void method3() {
System.out.println("step 3");
}
}
Client.java
package com.mark.pattern.templateMethod;
public class Client {
public static void main(String[] args) {
AbstractClass demo = new ConcreteClass();
demo.template();
}
}