python 设计模式之模板方法模式

1.模板方法模式定义

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

 

2.模板方法模式的优势

可变的部分能够充分扩展,不变的步骤能够充分封装;算法

提取公共代码,减小冗余代码,便于维护;
具体过程能够定制,整体流程方便掌控。
segmentfault

使用模板方法能够将代码的复用最大化框架

子类只须要实现本身的方法,将算法和实现的耦合下降。spa

 

3.模板方法模式的使用场景

某超类的子类中有公有的方法,而且逻辑基本相同,能够使用模板模式。必要时能够使用钩子方法约束其行为。.net

 

 

4.模板方法模式的缺点

模板模式在抽象类中定义了子类的方法,即子类对父类产生了影响,部分影响了代码的可读性。htm

 

 5.举个例子

 

不用模板方法模式的时候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

相关文章
相关标签/搜索