回调模式

 回调在spring中被大量使用,那什么是回调呢? 
       简单的说,在A类中调用B类的C方法,然后B类调用A类中的D方法。方法D被称为回调方法。回调是实现异步的基础。经典的回调方式如下:

  • Class A实现回调接口CallBack——背景1
  • class A中包含一个class B的引用b ——背景2
  • class B有一个参数为callback的方法f(CallBack callback) ——背景3
  • A的对象a调用B的方法 f(CallBack callback) ——A类调用B类的某个方法 C
  • 然后b就可以在f(CallBack callback)方法中调用A的方法 ——B类调用A类的某个方法D

    介绍完了概念,那举个例子吧。客户端向服务器端发起请求并发送信息。在接收到客户端的信息后,服务器睡5秒(模拟耗时操作),5秒之后回调客户端并输出请求状态。

回调接口 
这里写图片描述

服务器端 
这里写图片描述

客户端 
这里写图片描述

测试程序 
这里写图片描述

测试结果 
这里写图片描述

先输出前一二三行,五秒之后输出四五行。

你可能感兴趣的:(设计模式,java)