シリアル・マクロ・コマンドなどで使用できるonCompleteコールバックを持つCommandパターンの実装をどこから見つけるべきかを指摘できますか?Java:onCompleteコールバックでコマンドパターンを簡単に実装できますか?
ジョナス
シリアル・マクロ・コマンドなどで使用できるonCompleteコールバックを持つCommandパターンの実装をどこから見つけるべきかを指摘できますか?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参照を表示してください。 –