当前位置: 首页 > news >正文

【设计模式】JAVA Design Patterns——Callback(回调模式)

🔍目的


回调是一部分被当为参数来传递给其他代码的可执行代码,接收方的代码可以在一些方便的时候来调用它。

🔍解释


真实世界例子

我们需要被通知当执行的任务结束时。我们为调用者传递一个回调方法然后等它调用通知我们。

通俗描述

回调是一个用来传递给调用者的方法,它将在定义的时刻被调用。

维基百科

在计算机编程中,回调又被称为“稍后调用”函数,可以是任何可执行的代码用来作为参数传递给其他代码;其它代码被期望在给定时间内调用回调方法。

编程示例

创建一个简单的方法接口

public interface Callback {void call();
}

 创建一个任务在完成之后执行回调

public abstract class Task {final void executeWith(Callback callback) {execute();Optional.ofNullable(callback).ifPresent(Callback::call);}public abstract void execute();
}public final class SimpleTask extends Task {private static final Logger LOGGER = getLogger(SimpleTask.class);@Overridepublic void execute() {LOGGER.info("Perform some important activity and after call the callback method.");}
}

执行一个任务完成时接受的一个回调 

    var task = new SimpleTask();task.executeWith(() -> LOGGER.info("I'm done now."));

🔍类图


Callback 

🔍适用场景


使用回调模式场景

  • 当一些同步或异步架构动作必须在一些定义好的活动执行后执行时。

http://www.lryc.cn/news/352675.html

相关文章:

  • Pandas高效数据清洗与转换技巧指南【数据预处理】
  • kafka防止消息丢失配置
  • Socket CAN中ctrlmode有哪些?
  • find 几招在 Linux 中高效地查找目录
  • 【ELK日志收集过程】
  • 设计模式—23种设计模式重点 表格梳理
  • Vue学习穿梭框Transfer组件
  • Android 项目中自定义多个 RadioButton 并排一列选择效果实现
  • 解决win系统msvcp140.dll丢失的多种常用方法,亲测有效!
  • 使用keepalived实现mysql主从复制的自动切换
  • 数据库(4)——DDL数据库操作
  • C#基础一
  • UOS1060e分离ssh与sftp服务
  • LeetCode刷题之HOT100之多数元素
  • 回溯算法06(总结+leetcode332,51,37)
  • LabVIEW图像识别的技术手段有什么?
  • Vulhub——adminer
  • MySQL之性能剖析(三)
  • spark 之数据湖
  • 记录Hbase出现HMaster一直初始化,日志打印hbase:meta,,1.1588230740 is NOT online问题的解决
  • Linux——进程信号(二)
  • 2024.5组队学习——MetaGPT(0.8.1)智能体理论与实战(下):多智能体开发
  • SQL开窗函数
  • [xx点评完结]——白马点评完整代码+rabbitmq实现异步下单+资料,免费
  • Hadoop+Spark大数据技术 实验8 Spark SQL结构化
  • 认知V2X的技术列一个学习大纲
  • 揭秘齿轮加工工艺的选用原则:精准打造高效传动的秘密武器
  • Linux-应用编程学习笔记(二、文件I/O、标准I/O)
  • AI爆文写作:根据别人的爆款标题,如何通过名词替换改成自己的爆款标题?
  • Mybatis源码剖析---第二讲