模板模式讲解二
2016-05-22 23:20
337 查看
一、何为模板
在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。
二、模式结构设计
父类定义成一个抽象类,有一个具体实现方法,在这个具体实现方法会去调用此抽象类定义的抽象方法,这些抽象方法由子类继承实现,因为不同的业务逻辑是需要由不同的子类完成的。父类的具体实现方法,只是把这些子类的抽象方法执行的共同点抽取出来。有点不好理解,直接看图吧
View Code
在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。
二、模式结构设计
父类定义成一个抽象类,有一个具体实现方法,在这个具体实现方法会去调用此抽象类定义的抽象方法,这些抽象方法由子类继承实现,因为不同的业务逻辑是需要由不同的子类完成的。父类的具体实现方法,只是把这些子类的抽象方法执行的共同点抽取出来。有点不好理解,直接看图吧
public class Client { public static void main(String[] args) { test_dotemp(); } public static void test_dotemp() { List<GoodsDO> target = new ArrayList<GoodsDO>(); List<GoodsDO> orign = new ArrayList<GoodsDO>(); for(int i = 1; i<3; i++) { GoodsDO p = new GoodsDO(); p.setId(i); p.setName("ym" + i); target.add(p); p = new GoodsDO(); p.setId(i - 1); p.setName("ym" + (i - 1)); orign.add(p); } new GoodsTempImpl().execute(target, orign); }
View Code
相关文章推荐
- 课后
- 2016.05.23~05.30周计划、
- 第四百一十三、四、五天 how can I 坚持
- 学习进度12
- 第二次,软考总结
- iOS中语音合成技术
- PHP100教程资料 1~45讲
- 数据存储-文件及数据库
- 线段树优化
- c++ 基础知识整理(二)
- TensorFlow 从入门到精通(四):CIFAR10 多 GPU 版本例程源码分析
- finally ,你真的懂吗?
- Linux tail命令的使用方法详解
- NSRange类详解
- 30学习写论坛-3
- %格式化和format格式化--python
- 34. Search for a Range
- Sicily1934——移动小球
- TensorFlow 从入门到精通(三):ImageNet 例程源码分析
- acm_蜂巢