Template模式
来源:互联网 发布:实现发牌java 编辑:程序博客网 时间:2024/06/02 04:07
我们在看spring中有部分说到持久层,其中有个类JdbcTemplate,它是利用Template模式。
Template模式就是说:在父类中定义一个操作算法或操作顺序,而将一些步骤的具体实现延迟到子类中。请看列子:
// TemplateTest.java
首先在父类SuperTemplate中定义两个方法:doInTransaction()和execute(),execute()方法用来执行事务,doInTransaction()是事务的具体操作,但是doInTransaction()是个抽象方法,并没有具体的行为,它把行为交给了它的子类SuperTemplate ,子类中重写这个方法,然后在测试类中调用SubTemplate.execute()方法就行了。
出此之外,还有一种回调形式是利用接口回调函数,例子:
// TemplateTest2.java
在这里申明一个接口,里面有个方法doSomething()。Template2 这个类中的execute()方法用来执行事务,其中有个参数:execute(TestTemplateCallBack callBack),参数类型为之前定义的接口对象,然后就可以利用这个对象来调用doSomething()方法。但是doSomething()方法具体的操作内容在哪呢?它在TemplateTest2的insert()方法里面,这里在TemplateTest2类中定义一个insert()方法,接着申明一个Template2对象t,当执行t.execute()方法的时候,这时我们写个匿名类来当传入参数,这匿名类就是之前的接口,在匿名类中重写doSomething()方法就可以实现具体操作了。
实际的列子可以参考spring源码中的JdbcTemplate类。
- Template模式
- Template模式
- Template模式
- Template模式
- Template模式
- Template模式
- Template 模式
- Template模式
- Template模式
- Template 模式
- Template模式
- Template 模式
- Template模式
- Template模式
- Template模式
- Template模式
- Template模式 模板模式
- 设计模式 Template模式
- 15.4 为什么不使用telnet
- Mozilla Firefox Plus 3.5.6
- 15.5 进阶:使用SSH密钥
- 15.5.1 为什么要使用密钥
- 经典绝句
- Template模式
- servlet的应用及其他
- linux内核驱动DIY (踏踏实实学内核之2)
- delphi Image控件操作数据库Image
- 我不清楚的,亟待学习的
- XP下装windows 7和linux d的问题 原来什么都要自己去尝试!
- 15.5.2 生成密钥对
- 15.5.3 复制公有密钥至远程主机
- 导EXCEL表之网上资料