1. 程式人生 > >設計模式學習總結(14) 模板方法模式

設計模式學習總結(14) 模板方法模式

關鍵程式碼:在抽象類實現,其他步驟在子類實現
應用例項:1、在造房子的時候,地基、走線、水管都一樣,只有在建築的後期才有加壁櫥加柵欄等差異  2、西遊記裡面菩薩定好的81難,這就是一個頂層的邏輯骨架 3、Spirng中對Hibernate的支援,將一些已經定好的方法封裝起來,比如開啟事務、獲取Session、關閉Session等,程式設計師不重複寫那些已經規範好的程式碼,直接丟一個實體就可以儲存
優點:1、封裝不變部分,擴充套件可變部分 2、提取公共程式碼,便於維護 3、行為由父類控制,子類實現
缺點:每一個不同的實現都需要一個子類來實現,導致類的個數增加,使得系統更加龐大
使用場景:1、有多個子類共有的方法,且邏輯相同 2、重要的、複雜的方法,可以考慮作為模板方法
注意事項
:為防止惡意操作,一般在模板方法都加上final關鍵詞