[關鍵字]:java,design pattern,設計模式,《Java與模式》學習,template method pattern,模板方法模式
[環境]:StarUML5.0 + JDK6
[作者]:Winty (wintys@gmail.com) http://m.tkk7.com/wintys/
[正文]:
package pattern.template;
/**
* 模板方法模式:Template Method Pattern
* @version 2009-6-15
* @author Winty(wintys@gmail.com)
*/
public class TemplateMethodTest{
public static void main(String[] args){
AbstractClass ac = new ConcreteClass();
ac.theTemplateMethod();
}
}
/**
* 抽象模板角色,在此定義模板方法
*/
abstract class AbstractClass{
public void theTemplateMethod(){
operation1();
operation2();
operation3();
doHookOperation();
}
protected abstract void operation1();
protected abstract void operation2();
public final void operation3(){
System.out.println("operation3");
}
public void doHookOperation(){
//空方法
}
}
/**
* 具體模板角色
*/
class ConcreteClass extends AbstractClass{
protected void operation1(){
System.out.println("operation1");
}
protected void operation2(){
System.out.println("operation2");
}
}
posted on 2009-06-15 17:05
天堂露珠 閱讀(1325)
評論(0) 編輯 收藏 所屬分類:
Pattern