1. 程式人生 > >設計模式:模板方法模式(Template Method Pattern)

設計模式:模板方法模式(Template Method Pattern)

/**
 * 模板方法模式。
 * 模板方法模式在一個方法中定義演算法的骨架,而將一些步驟延遲到子類中。
 * 模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟。
 * @author Bright Lee
 */
public class TemplateMethodPattern {

	public static void main(String[] args) {
		AbstractClass obj = new ConcreteClass();
		obj.templateMethod();
	}

}

abstract class AbstractClass {
	
	/**
	 * 模板方法,定義了演算法的骨架,其中的某些步驟可以由子類實現。
	 */
	public final void templateMethod() {
		operation1();
		operation2();
		operation3();
	}
	
	/**
	 * 步驟1
	 */
	public void operation1() {
		System.out.println("步驟1");
	}
	
	/**
	 * 步驟2
	 */
	public abstract void operation2();

	/**
	 * 步驟3
	 */
	public abstract void operation3();
	
}

class ConcreteClass extends AbstractClass {

	public void operation2() {
		System.out.println("步驟2");
	}

	public void operation3() {
		System.out.println("步驟3");
	}
	
}

執行結果:
步驟1
步驟2
步驟3