所谓模板方法模式,就是在一组方法结构一致,只有部分逻辑不一样时,使用抽象类制作一个逻辑模板,具体是实现类仅仅实现特殊逻辑就行了。类似科举制度八股文,文章结构相同,仅仅具体语句有差异,我们只需要按照八股文框架添加具体语句即可。

实际上,在Java设计模式应用——责任链模式中,我已经在业务执行,事务回滚方法中使用了模板方法模式,下面我们再以一个加减法例子阐述模板方法模式使用:

package com.coshaho.learn.strategy;

public abstract class AbstractCaculator
{
public int caculate(String a, String b)
{
return caculate(transNumber(b), transNumber(b));
} public int transNumber(String s)
{
return Integer.parseInt(s);
} abstract int caculate(int a, int b);
} class Plus extends AbstractCaculator
{
@Override
int caculate(int a, int b)
{
return a + b;
}
} class Minus extends AbstractCaculator
{
@Override
int caculate(int a, int b)
{
return a - b;
}
}

最新文章

  1. android 设计
  2. RadioButtonFor绑定值
  3. Asp.net mvc5 解析route源码实现自己的route系统
  4. 【LeetCode】226 - Invert Binary Tree
  5. Identity-第三章 Authorize原理解析
  6. struts2自定义类型转换器
  7. XPath与Xquery
  8. 基于visual Studio2013解决C语言竞赛题之1035最大数
  9. jsp简单练习-简单的下拉表单
  10. 【Appnium+C#+Winform自动化测试系列】前言
  11. 使用Botkit和Rasa NLU构建智能聊天机器人
  12. WPF基础篇之空间布局
  13. ToastCustom【自定义显示风格的Toast】
  14. 封装一个 员工类 使用preparedStatement 查询数据 (2) 使用 arrayList 集合
  15. c++ 指针与const的三种组合
  16. 20175236 2018-2019-2 《Java程序设计》第四周学习总结
  17. jasperReport和Ireport
  18. [No0000156]天干地支-狗年我懂,戊戌二字怎么来的?
  19. Notepad2、Sublime_text带图标的右键快捷打开方式
  20. JVM JRE JDK三者的区别和联系

热门文章

  1. 转基于概率的矩阵分解原理详解(PMF)
  2. 9.13Django ORM那些事
  3. Yii2 使用json 和设置component 中'format' => yii\web\Response::FORMAT_JSON 的区别
  4. java基础/一个类A继承了类B,那么A就叫做B的派生类或子类,B就叫基类或超类。
  5. PKCS 发布的15 个标准与X509
  6. 关于ArcGIS Server修改数据源是否对切片服务有影响
  7. Python面试网络编程和并发
  8. Ubuntu16.04 搜狗输入法输入汉字时候选栏是一串字符数字乱码问题解决方法
  9. Django单元测试简单示例
  10. 第二课 eclipse安装