回调设计模式
意图
回调是指一段可以执行的代码,该代码会被作为参数传递给其他代码,在适当的时候,预期这部分代码将会被调用执行。 解释 案例:我们需要在执行完任务后得到通知。为此,我们会向执行器传递一个回调方法,并等待执行器在任务完成后调用这个回调方法通知我们。 简单说: 回调是一种传递给执行器的方法,它将在特定时刻被调用。 样例
public interface Callback {
void call ( ) ;
}
import java. util. Optional ;
public abstract class Task {
final void executeWith ( Callback callback) {
execute ( ) ;
Optional . ofNullable ( callback) . ifPresent ( Callback :: call ) ;
}
public abstract void execute ( ) ;
}
public class SimpleTask extends Task {
@Override
public void execute ( ) {
System . out. println ( "Perform important activity and after call the callback method." ) ;
}
}
public class Main {
public static void main ( String [ ] args) {
var task = new SimpleTask ( ) ;
task. executeWith ( ( ) -> System . out. println ( "I'm done now." ) ) ;
}
}
结构图
适用性
当你执行某些定义的活动后必须执行某些任意同步或异步操作时。