所謂的模板方法模式,就是說,提供一個大的算法框架,而將這個框架裏面的一些具體實現留給子類本身去作,從而能夠在不改變大的算法框架的基礎上,即改變了相關的實現。算法
算法或者操做遵循類似的邏輯框架
重構時,將相同代碼抽取到父類中函數
重要、複雜的算法,核心算法設計爲模板算法。其餘須要個性化的部分設爲子類實現。設計
封裝性好、複用性好、屏蔽細節、便於維護。日誌
繼承繼承
例如:有各類各樣的日誌文件須要分析。
這些分析有共性:獲取文件--》讀取文件--》讀取結構--》處理單行文件--》清理操做。
那麼,對於前3步及第5步都是共性的,能夠防止模板類裏面,第四步是個性的操做,放在子類中複寫便可。還能夠採用一些鉤子函數,用於處理第四步個性化的東西。鉤子