回调设计模式
意图 回调是指一段可以执行的代码,该代码会被作为参数传递给其他代码,在适当的时候,预期这部分代码将会被调用执行。 案例:我们需要在执行完任务后得到通知。为此,我们会向执行器传递一个回调方法,并等待执行器在任务完成后调用这个回调方法通知我们。 样例
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." ) ) ; }
}
结构图
当你执行某些定义的活动后必须执行某些任意同步或异步操作时。