重复动作要封装,封装前找大家的共同特性或者说共同需求(例如都实现某个接口,都实现该接口的某个方法),然后利用这个共同特性封装起来

简介: 重复动作要封装,封装前找大家的共同特性或者说共同需求(例如都实现某个接口,都实现该接口的某个方法),然后利用这个共同特性封装起来

重复动作要封装,封装前找大家的共同特性或者说共同需求(例如都实现某个接口,都实现该接口的某个方法),

然后利用这个共同特性封装起来

 


具体举例子:例如方法执行到最后,要关闭各自资源:像ResultSet,Statement,PreparedStatement,Connection都需要关闭。

且关闭前都需要先判断是否为空,然后非空再关闭!

原来代码书写:

public void close(ResultSet resultSet, Statement statement, PreparedStatement preparedStatement, Connection connection){
          if(resultSet != null)                  resultSet.close();
          if(statement != null)                  statement.close();
          if(preparedStatement != null)          preparedStatement.close();
          if(connection != null)                 connection.close();
}


再封装一下代码:点击ResultSet进去,发现它之所以可以直接调用close() 方法, 是因为它实现了接口 AutoCloseable,AutoCloseable 接口定义了close()方法.同理StatementPreparedStatement等等也是这样的。


所以咱定义一个free(参数是接口AutoCloseable autoCloseable) { 
  if(Objects.nonNull(autoCloseable))        autoCloseable.close();
}



目录
相关文章
|
5月前
|
JavaScript API
接口封装如何实现?
接口封装如何实现?
|
1月前
|
C++
C++ 接口的实现,及作用通俗理解方式
C++中的接口,一般就是指抽象类,是一种用来描述类对外提供的操作、方法或功能的集合——注意,一般只是描述(声明),而不对这些方法或功能进行定义实现,通常在
31 2
|
5月前
|
Web App开发 移动开发 JavaScript
h5调用底层接口的一些知识
h5调用底层接口的一些知识
68 0
|
7月前
|
Java
接口特性
接口特性
58 1
C++函数适配器和函数包装器:让你的函数更灵活
前言:这次给大家带来的是C++函数适配器和函数包装器,它可以让你的让你的函数更灵活,更加易用
|
XML Java 数据库连接
EnvironmentAware接口的作用
凡注册到Spring容器内的bean,实现了EnvironmentAware接口重写setEnvironment方法后,在工程启动时可以获得application.properties的配置文件配置的属性值。
|
JSON 数据格式 开发者
方法的封装| 学习笔记
快速学习方法的封装
107 0
外观模式:封装交互,简化调用
外观模式的本质是封装交互,简化调用,其体现了最少知识设计原则。
704 0
外观模式:封装交互,简化调用
|
JavaScript 前端开发 设计模式
【JavaScript框架封装】数据类型检测模块功能封装
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/80984381 数据类型检测封装后的最终模块代码如下: /*数据类型检验*/ xframe.extend(xframe, { // 鸭子类型(duck typing)如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子。
1039 0