模板方法模式--大步骤一样小实现不同
来源:互联网 发布:出库软件哪个好 编辑:程序博客网 时间:2024/06/05 08:40
听名字来说,模板方法,就是,方法是个模板,必须要按照模板来。
没错,差不多就是这个意思。
模板方法模式:定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。
模板方法使得子类可以不改变一个算法的结构即可冲定义该算法的某些特定步骤。
也就是这样:
模板方法是通过不不变的行为搬移到超类,去除子类中重复代码来体现它的优势。
因此模板方法提供了一个很好的代码复用平台。
首先还是来看看类图了解模板方法模式的类结构:
比较简单的类图,子类继承父类,父类的templatemethod方法决定了两个抽象方法的调用次序,
而子类的任务就是具体化实现两个抽象方法。
下面看具体类代码:
TemplateMethod类:
package com.blog.anla.TemplateMethod;/** * 实现了一个模板方法,定义了算法的骨架, * 具体子类将重写PrimitiveOperation方法 * 以实现一个算法的步骤 * @author U-ANLA * */public abstract class TemplateMethod {public abstract void primitiveOperation1();public abstract void primitiveOperation2();public void templateMethod(){primitiveOperation1();System.out.println("先方法1,再方法2,这是顺序!");primitiveOperation2();}}
ConcreteTemplate类:
package com.blog.anla.TemplateMethod;/** * 实现primitiveOperation1和primitiveOperation2的方法 * 以完成算法中特定子类的相关步骤。 * @author U-ANLA * */public class ConcreteTemplate extends TemplateMethod{@Overridepublic void primitiveOperation1() {System.out.println("子类具体方法第一步的实现!");}@Overridepublic void primitiveOperation2() {System.out.println("子类具体方法第二步的实现!");}}
这个模式很不错,很利于代码复用。
赠人玫瑰手留余香(oo)
阅读全文
0 0
- 模板方法模式--大步骤一样小实现不同
- 模板方法模式实现探讨
- 模板方法模式实现探讨
- 模板方法模式实现探讨
- 模板方法模式实现探讨
- c++ 实现模板方法模式
- 模板方法模式c++实现
- 模板方法模式lua实现
- 模板方法模式----C++实现
- 模板方法模式 C++实现
- 模板方法模式(java实现)
- ecshop实现不同文章调用不同模板的方法
- 设计模式-模板方法模式 C++实现
- 小话设计模式五:模板方法模式
- 小话设计模式(二十二)模板方法模式
- 小信使功能实现新邮件提示,MSN一样的方法弹出的实现方法
- 模板实现的通用工厂方法模式
- Java模板方法模式中的HookMethod实现
- linux zip,linux下打包zip文件
- red_black_tree的一个实现(c/c++)
- 特定式子的非线性拟合(使用于数据较少的的时候)
- 查看进程所消耗的内存脚本
- Keras实现一个简单的Regression回归
- 模板方法模式--大步骤一样小实现不同
- 手把手叫你如何集成高德地图,实现地图显示、定位蓝点、大头针显示、获取周围地点信息等
- “多进程”,你不知道的事(下)
- Window系统中MySql 5.7.19 忘记密码该怎么改回来
- HTML-子div在父div中垂直居中
- python002 Python3 基础语法
- KNN算法 代码详细解释
- socket.gaierror Errno -3 Temporary failure in name resolution
- 用OpenGLES实现yuv420p视频播放界面