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

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

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

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

 


具体举例子:例如方法执行到最后,要关闭各自资源:像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();
}



目录
相关文章
|
JavaScript API
接口封装如何实现?
接口封装如何实现?
|
3月前
|
JSON 前端开发 Java
如何封装接口返回结构?
本文详细探讨了API接口返回结构统一化的必要性及其带来的优势,如降低开发的心智负担、减少前端开发难度和提高代码可维护性等。同时也分析了其潜在的缺点,例如灵活性降低和开发成本增加等问题。文章进一步讨论了在Spring Boot中实现统一接口返回结构的具体方法和技术细节,包括如何处理HTTP状态码、返回单个字符串的情况以及如何封装无返回值的接口等。此外,还介绍了如何利用Spring Boot的`ResponseBodyAdvice`和`@RestControllerAdvice`等特性来自动包装控制器方法的返回值及异常处理,以达到更加一致和标准化的接口响应结构。
如何封装接口返回结构?
|
4月前
|
Java
设计接口的几种方法
设计接口的几种方法
|
6月前
|
JSON API 数据库
使用现代方式定义接口
【5月更文挑战第14天】FastAPI是一个现代化的、基于类型的web框架,用于构建API。它支持自动补全和类型检查,提供数据校验并能自动生成清晰的错误消息。 它基于OpenAPI标准,能自动生成交互式Swagger UI和ReDoc文档。 FastAPI内置安全性特性,支持身份验证,如HTTP基本认证和OAuth2。依赖注入系统使得复杂逻辑易于管理,同时兼容Starlette,具备高性能、WebSocket和GraphQL支持。
184 0
|
6月前
|
C++
C++ 接口的实现,及作用通俗理解方式
C++中的接口,一般就是指抽象类,是一种用来描述类对外提供的操作、方法或功能的集合——注意,一般只是描述(声明),而不对这些方法或功能进行定义实现,通常在
68 2
|
Web App开发 移动开发 JavaScript
h5调用底层接口的一些知识
h5调用底层接口的一些知识
122 0
|
Java
接口特性
接口特性
86 1
|
XML Java 数据库连接
EnvironmentAware接口的作用
凡注册到Spring容器内的bean,实现了EnvironmentAware接口重写setEnvironment方法后,在工程启动时可以获得application.properties的配置文件配置的属性值。
外观模式:封装交互,简化调用
外观模式的本质是封装交互,简化调用,其体现了最少知识设计原则。
721 0
外观模式:封装交互,简化调用
|
JavaScript 前端开发 设计模式
【JavaScript框架封装】数据类型检测模块功能封装
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/80984381 数据类型检测封装后的最终模块代码如下: /*数据类型检验*/ xframe.extend(xframe, { // 鸭子类型(duck typing)如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子。
1069 0