Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

Head First 设计模式学习笔记(九)模板方法模式

来源: chxiaowu 分享至:

模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法可以使子类可以不改变一个算法的结构即可以重定义该算法的某些特定步骤。

方法模式的特点:把不变的行为搬到超类,去除子类中重复的代码来体现他的优势。

当不变的和可变的行为在方法中混合在一起时,不变的行为就会在子类中重复出现,模板方法模式就是将这些不变的行为搬移到一个超类中,避免重复代码。

注:模板方法可以使用钩子来控制是否执行某一段代码。(如以下代码,子类可以选择覆盖 condition() 方法来控制是否实现 action2() )

void doAction(){ action1(); if(condition()){ action2(); } } boolean condition(){ return true; }

JUnit中的TestCase以及它的子类就是一个模板方法模式的例子。

public void runTest() throws Throwable { setUp(); try { runTest(); } finally { tearDown(); } }


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史