模版方法模式

模版方法模式

模式定义

定义一个操作的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

实现

需求:在数据库连接方面Oracle和Mysql除了驱动程序不一样,其他的都可以复用,并且步骤都是一致的

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import com.sun.xml.internal.xsom.XSUnionSimpleType;

/**
 * @author 许喜朝
 */
public class TemplateMethodTest {
    public static void main(String[] args) {
        MySql mySql = new MySql();
        mySql.operation();
        Oracle redis = new Oracle();
        redis.operation();
    }
}
abstract class AbstractClass{
    public void operation(){
//        不同部分由子类实现
        templateMethod();
//        提取相同部分直接实现
        System.out.println("建立连接");
        System.out.println("执行sql");
        System.out.println("关闭连接");

    }
    abstract protected void templateMethod();
}
//mysql
class MySql extends AbstractClass{
    @Override
    protected void templateMethod() {
        System.out.println("mysql驱动");
    }
}
//oracle
class Oracle extends AbstractClass{

    @Override
    protected void templateMethod() {
        System.out.println("Orecle驱动程序");
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hbase(二)Hbase常用操作

    许喜朝
  • Hbase(三)Hbase安装配置

    ​ 修改conf/hbase-site.xml,配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目...

    许喜朝
  • 初识Mybatis中的动态sql

    ​ 相当于sql中的where后面跟条件,需要注意的是where和if一样也是会把第一个条件执行的逻辑运算符去掉

    许喜朝
  • Java8---Stream的基本用法(2)

    下面列举了一些,Stream的一些基本的使用方法,比如去重,遍历,筛选,获取指定元素的等。

    IT云清
  • Java基础第四天学习笔记

    for循环示例: /* * A:循环结构的分类 * for,while,do...while * B:循环结构for语句的格式: * for(初始化表达...

    Java学习
  • 04-01.总结switch,for,while,do。while跳转语句

    1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; ...

    Java帮帮
  • Java基础-基本数据类型之间的转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • Java开发中对Redis的基本操作总结

    想要在 Java 中使用 Redis,我们首先需要安装 redis 服务及 Java redis 驱动。

    Java团长
  • Spring Boot 2.X(十):自定义注册 Servlet、Filter、Listener

    在 Spring Boot 中已经移除了 web.xml 文件,如果需要注册添加 Servlet、Filter、Listener 为 Spring Bean,在...

    朝雾轻寒
  • 用集合实现登录注册功能

    练习题目如上所示,要求如下: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。

    roobtyan

扫码关注云+社区

领取腾讯云代金券