模板方法模式
来源:互联网 发布:星光大道网络投票 编辑:程序博客网 时间:2024/06/05 05:14
我们做一些事情都有一个步骤,而相似事的步骤是一致的。就拿我们打10086来说,有人查余额和有人要人工服务,但他们的不知都分下面三步:拨号、选择服务、评分。这种最适合用模板方法,实现如下:
public class TemplateMethod { //模板抽象方法 public abstract static class Template10086 { //1.拨打10086 public void takeNumber(){ System.out.println("拨打10086"); } //2.办理具体的业务:这里留给子类来实现!!! public abstract void transact(); //3.给客服评分 public void evaluate(){ System.out.println("反馈评分"); } //模板方法,一定的流程 public final void process(){ this.takeNumber(); this.transact();//这里则是具体的模板方法函数 this.evaluate(); } } public static void main(String[] args) { Template10086 查余额 = new Template10086(){//匿名内部子类 @Override public void transact() { System.out.println("先按1再按2"); } }; System.out.println("查余额:"); 查余额.process(); Template10086 人工服务 = new Template10086(){ @Override public void transact() { System.out.println("先按1再按0"); } }; System.out.println("\n人工服务:"); 人工服务.process(); }}输出:查余额:拨打10086先按1再按2反馈评分人工服务:拨打10086先按1再按0反馈评分
模板方法模式适用于:有各个方法组成的固定流程,子方法实现可能不同(可以是多个)。
觉得容易理解的话面向对象的23种设计模式点这里
阅读全文
0 0
- 深入浅出模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法设计模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- TemplateMethod模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 深入理解 JavaScript 数组的特性与最佳实践
- HDU
- 通用的搜索引擎优化实现任务
- PumpLinx_3.0.2.rar
- 李泽湘:工程意识,百亿独角兽的核心竞争力 | 笔记
- 模板方法模式
- Qt自动添加资源文件
- objectc 属性设置(@Property)
- 常用命令
- 彩色转灰度算法[转]
- jsp页面格式化数字或时间
- JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?
- Java:关于eclipse的一些问题:
- JavaScript获取当前根目录