美文网首页
从模板模式、策略模式等优化JDBC代码

从模板模式、策略模式等优化JDBC代码

作者: exmexm | 来源:发表于2017-06-27 11:19 被阅读0次

一、使用模板模式优化

使用模板模式主要是利用面向对象的继承特征,即把代码不变的部分放在超类,变化的部分放在子类
具体如下:
优化查询操作、区分变化和不变的部分:
1、sql和ResultSet的处理是变化部分,创建和释放资源部分是不变部分。
2、提取超类,将不变的部分放入超类,变化的部分留给子类实现(可以写成抽象方法)
实现超类的代码如下:

public Object find(String sql, Object[] args) {
      …
      rs = ps.executeQuery();
      if (rs.next()) return rowMapper(rs); 
      …
    }
    protected abstract Object rowMapper(ResultSet rs);

二、使用策略模式优化

和模板模式的主要区别是变化的部分改为用接口实现,而不是重写方法。
1、优化查询操作,区分变化和不变的部分:sql和ResultSet的处理是变化的部分,创建和释放资源部分是不变的部分。
2、提取接口封装变化的部分。
3、主要操作代码如下:

public Object find(String sql, Object[] args, RowMapper rowMapper) {
        …
        rs = ps.executeQuery();
        if (rs.next())return rowMapper.mapRow(rs);
        …
    }
//回调的接口
public interface RowMapper {
        public Object mapRow(ResultSet rs) throws SQLException;
    }

在调用 find方法时可以用匿名类实现接口的方法:

find(sql, args, new RowMapper(){
  public Object mapRow(ResultSet rs) throws SQLException {
  //实现具体对象的分析结果的代码
} 
}); 

相关文章

  • 从模板模式、策略模式等优化JDBC代码

    一、使用模板模式优化 使用模板模式主要是利用面向对象的继承特征,即把代码不变的部分放在超类,变化的部分放在子类具体...

  • 第二章1.0初识Spring

    JDBC Template --使用了 模板模式ORM --使用了策略模式 Transaction 事务管理 ...

  • 一次代码优化实践,用了模板方法+策略+工厂方法模式

    前言 今天来一份代码优化总结。用模板方法+策略+工厂方法模式优化了代码,耐心点看完,应该对大家有帮助的~ 优化代码...

  • 设计模式--策略模式

    目录 本文的结构如下: 引言 什么是策略模式 模式的结构 典型代码 代码示例 策略模式和模板方法模式的区别 优点和...

  • 设计模式

    常见的设计模式有哪些? 常见的工厂模式,代理模式,模板方法模式,责任链模式,单例模式,包装设计模式,策略模式等。手...

  • 重构、测试和调试

    增加代码的灵活性 有条件if的延迟执行 环绕执行模式 重构设计模式 策略模式 模板模式 观察者模式 责任链模式

  • 各种设计模式总结和对比

    模板方法模式和策略模式 1、模板方法和策略模式都有封装算法。2、策略模式是使不同算法可以相互替换,且不影响客户端应...

  • Java中的23种设计模式(三)

    (策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式)原文作者:终点 出处:Java之美[从...

  • 设计模式

    策略模式 接口 模板方法模式 抽象类 代理模式 接口

  • 策略模式

    一、策略模式介绍 二、策略模式代码实例

网友评论

      本文标题:从模板模式、策略模式等优化JDBC代码

      本文链接:https://www.haomeiwen.com/subject/kiwscxtx.html