JAVA设计模式之模板方式
2017-09-09 15:46
204 查看
什么是模版方式(百度): 模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。 在模板方法模式中,我们需要准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。模板方法模式体现了面向对象的诸多重要思想,是一种使用频率较高的模式。
下面以银行服务为例子,更能清楚的明白,我们去银行,有时候去取款,有时候去存款,有时候去抢钱哦!哈哈,但是实现这些目的的时候,我们都是需要先去挂号,然后去实现相应的业务,然后就是评价一下服务的怎么样,这些业务实现中,挂号和最后的评价都是一样的,只有中间的业务方法不同,所以我们可以使用模版方式来实现,简洁明了。以下代码,能为大家更明了的理解什么是模版方式。
模拟银行取款等操作
测试类
下面以银行服务为例子,更能清楚的明白,我们去银行,有时候去取款,有时候去存款,有时候去抢钱哦!哈哈,但是实现这些目的的时候,我们都是需要先去挂号,然后去实现相应的业务,然后就是评价一下服务的怎么样,这些业务实现中,挂号和最后的评价都是一样的,只有中间的业务方法不同,所以我们可以使用模版方式来实现,简洁明了。以下代码,能为大家更明了的理解什么是模版方式。
模拟银行取款等操作
package com.imust.templateMethod; /** * 模拟银行取款等操作 * @author Zachary (为上帝所心仪的人) * @date 2017年9月9日 * @project shejimoshi * @package com.imust.templateMethod */ public abstract class BankTemplateMethod { //具体方法 public void takeNumber(){ System.out.println("取号排队"); } public abstract void transact();//办理具体的业务,钩子方法 public void evaluate(){ System.out.println("反馈评分"); } public final void process(){ this.takeNumber(); this.transact(); this.evaluate(); } }
测试类
package com.imust.templateMethod; public class Client { public static void main(String[] args) { BankTemplateMethod btm = new DrawMoney(); btm.process(); //匿名内部类 BankTemplateMethod btm2 = new BankTemplateMethod() { @Override public void transact() { System.out.println("我要存钱"); } }; btm2.process(); BankTemplateMethod btm3 = new BankTemplateMethod() { @Override public void transact() { System.out.println("我要理财"); } }; btm3.process(); } } class DrawMoney extends BankTemplateMethod{ @Override public void transact() { System.out.println("我要取款!!!"); } }
相关文章推荐
- Java设计模式——模板方式
- java 的模板方式设计模式
- Java基础知识之设计模式中的Template模板方式
- JAVA中数据库操作的各种方式与设计模式的应用
- JAVA操作数据库方式与设计模式应用
- Java设计模式 -- 观察者模式(push方式)
- JAVA操作数据库方式与设计模式应用
- JAVA中操作数据库方式与设计模式的应用
- Java设计模式 Design Pattern:模板方法 Template Method
- Java模式设计之模板方法模式
- JAVA中操作数据库方式与设计模式的应用
- Java设计模式—模板方法(Template Method)
- 深入浅出Java模式设计之模板方法模式
- Java设计模式 Design Pattern:模板方法 Template Method
- Java设计模式 -- 观察者模式(pull方式)
- JAVA操作数据库方式与设计模式应用-Java基础-Java-编程开发
- JAVA中数据库操作的各种方式与设计模式的应用
- JAVA操作数据库方式与设计模式应用
- JAVA操作数据库方式与设计模式应用--数据库连接池技术
- Java设计模式之模板方法模式