模板模式定義以下:定義一個操做中的算法的框架,而將一些步驟延遲到子類中,使得子類能夠不改變一個算法的結構便可從新定義該算法的某些特定的步驟。子類實現的具體方法叫做基本方法,實現對基本方法高度的框架方法,叫做模板方法。html
可變的部分能夠充分擴展,不變的步驟能夠充分封裝;算法
提取公共代碼,減小冗餘代碼,便於維護;
具體過程能夠定製,整體流程方便掌控。segmentfault
使用模板方法能夠將代碼的複用最大化框架
子類只須要實現本身的方法,將算法和實現的耦合下降。spa
某超類的子類中有公有的方法,而且邏輯基本相同,能夠使用模板模式。必要時能夠使用鉤子方法約束其行爲。.net
模板模式在抽象類中定義了子類的方法,即子類對父類產生了影響,部分影響了代碼的可讀性。htm
不用模板方法模式的時候blog
用模板方法模式的時候鉤子
煮完茶,煮完咖啡,還能夠接着煮糖水,煮黑芝麻糊,煮豆漿,煮米糊,煮。。。。。ast
煮的多的話,用模板方法模式就能省不少代碼了
參考
https://segmentfault.com/a/1190000017225491?utm_source=tag-newest
https://www.cnblogs.com/liuqingzheng/articles/10039693.html
https://blog.csdn.net/chenvast/article/details/79193248