博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式--模版方法(TemplateMethod)
阅读量:4199 次
发布时间:2019-05-26

本文共 1047 字,大约阅读时间需要 3 分钟。

模板方法
概述
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。        TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
适用性
1.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。    2.各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。      首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。      最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。    3.控制子类扩展。
参与者
1.AbstractClass      定义抽象的原语操作(primitiveoperation),具体的子类将重定义它们以实现一个算法的各步骤。      实现一个模板方法,定义一个算法的骨架。      该模板方法不仅调用原语操作,也调用定义在AbstractClass或其他对象中的操作。    2.ConcreteClass      实现原语操作以完成算法中与特定子类相关的步骤。
Example
AbstractClass public abstract class Template {    public abstract void print();        public void update() {        System.out.println("开始打印");        for (int i = 0; i < 10; i++) {            print();        }    }}ConcreteClass public class TemplateConcrete extends Template {    @Override    public void print() {        System.out.println("这是子类的实现");    }}Test public class Test {    public static void main(String[] args) {        Template temp = new TemplateConcrete();        temp.update();    }}result 开始打印这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现这是子类的实现

转载地址:http://ajbli.baihongyu.com/

你可能感兴趣的文章
RPT8.1新特性
查看>>
LoadRunner测试AJAX
查看>>
LoadRunner测试GWT
查看>>
负载测试项目成功的5个关键要素
查看>>
LoadRunner性能测试培训大纲
查看>>
LoadRunner测试J2ME的Socket程序
查看>>
《QTP自动化测试实践》要出第二版了!
查看>>
用LoadRunner开发开心网外挂
查看>>
QTP测试.NET控件CheckedListBox
查看>>
使用QTP的.NET插件扩展技术测试ComponentOne的ToolBar控件
查看>>
用上帝之眼进行自动化测试
查看>>
为LoadRunner写一个lr_save_float函数
查看>>
PrefTest工作室全新力作-《性能测试与调优实战》课程视频即将上线
查看>>
质量度量分析与测试技术 培训大纲
查看>>
欢迎加入【亿能测试快讯】邮件列表!
查看>>
为什么我们的自动化测试“要”这么难
查看>>
LoadRunner性能脚本开发实战训练
查看>>
测试之途,前途?钱途?图何?
查看>>
测试设计与测试项目实战训练
查看>>
HP Sprinter:敏捷加速器
查看>>