模板方法模式在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類在不改變算法結構的情況下,重新定義算法中的某些步驟。
模板就是一個方法。具體地說,這個方法將算法定義成一組步驟,其中的任何步驟都可以是抽象的,由子類負責提供部分實現。
鉤子的真正目的:
鉤子可以讓子類實現算法中的可選部分,或者在鉤子對於子類的實現並不重要的時候,子類可以對鉤子置之不理。鉤子讓子類能夠有機會對模板方法中某些即將發生的(或剛剛發生的)步驟做出反應。vcq9ysehsLHwtffTw87Sw8ejrM7Sw8e74bX308PE4y6hsQo8YnI+Cgo8aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140405/20140405090903159.png" alt="\">
荒野中的模板方法: