1. 程式人生 > >模版方法設計模式學習筆記

模版方法設計模式學習筆記

延遲 void 修改 abstract 程序 print 模版方法 pla pre

概述:
模板方法模式就定義一算法的骨架,而具體的算法延遲到子類中來實現
優點缺點:
優點:使用模板方法模式,在定義算法骨架的同時,可以靈活的實現具體的算法,滿足用戶多變需求;
缺點:
如果算法骨架有修改,則需要修改抽象類
1、裝飾
2、單利
3、簡單工廠
4、工廠方法
5、適配器
6、模板


public class Demo1_Template {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Demo d = new Demo();
        System.out.println(d.getTime());
    }

}

abstract class GetTime {
    public final long getTime() {  //防止子類重寫 使用final
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        return end - start;
    }

    public abstract void code();  //目的讓子類重寫,方便計算程序運行時間
}

class Demo extends GetTime {

//代碼
    @Override
    public void code() {
        int i = 0;
        while(i < 100000) {
            System.out.println("x");
            i++;
        }
    }
}

模版方法設計模式學習筆記