예를 들어 직렬 매크로 명령에서 사용할 수있는 onComplete 콜백을 사용하여 명령 패턴 구현을 어디에서 찾을 수 있습니까?Java : onComplete 콜백을 사용하여 명령 패턴을 간단하게 구현합니까?
조나스
예를 들어 직렬 매크로 명령에서 사용할 수있는 onComplete 콜백을 사용하여 명령 패턴 구현을 어디에서 찾을 수 있습니까?Java : onComplete 콜백을 사용하여 명령 패턴을 간단하게 구현합니까?
조나스
실제 생활에서없는 사용이
abstract class Command {
final public void execute(){
run();
onComplete();
}
protected abstract void run();
protected abstract void onComplete();
}
//usage
abstract class HiCommand extends Command {
protected void run(){
System.out.println("Hi, ");
}
protected abstract void onComplete();
}
new HiCommand(){
@Override
protected void onComplete() {
System.out.println("world");
}
}.execute();
또는이
interface WhenDone{
void onComplete();
}
abstract class Command {
private final WhenDone callback;
protected Command(WhenDone callback){
this.callback = callback;
}
final public void execute(){
run();
callback.onComplete();
}
protected abstract void run();
}
//usage
class PrintHi extends Command {
protected PrintHi(WhenDone callback){
super(callback);
}
protected void run(){
System.out.println("Hi, ");
}
}
class PrintWorld implements WhenDone {
public void onComplete(){
System.out.println("world!");
}
}
//somewhere
new PrintHi(new PrintWorld()).execute();
예를보십시오. 생성을 통해 생성 및 호출 실행을 분리해야합니다 (CommandManager
).
GoF 명령 패턴에는 콜백이 포함되지 않습니다. 더 많은 정보를 추가하거나 실제로 염두에두고있는 패턴에 대한 URL 참조를 보여주십시오. –