模板模式定义以下:定义一个操做中的算法的框架,而将一些步骤延迟到子类中,使得子类能够不改变一个算法的结构便可从新定义该算法的某些特定的步骤。子类实现的具体方法叫做基本方法,实现对基本方法高度的框架方法,叫做模板方法。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