2
A
回答
8
試試這個
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
將創建和調用執行分開。
+0
謝謝,斯塔斯!嗯...現在我必須弄清楚那個父回調命令是怎麼樣的。我不會否認你的意見。 :-) – Cambiata 2010-12-06 08:18:15
相關問題
- 1. Java:簡單命令的實現
- 2. 使用resque實現命令模式
- 3. 實現命令模式
- 4. 使用JAVA在命令行中實現
- 5. Java簡單回調
- 6. 實現命令模式和多態性
- 7. 如何在Java中實現命令模式?
- 8. DDD命令模式實現細節 - 持久命令
- 9. 使用Runnable在Java中實現回調
- 10. 簡單的OpenCV命令工作在調試模式,但不是發佈模式
- 11. 命令模式vs C簡單工廠模式#
- 12. 簡單的VIewHolder模式實現bug使用convertView
- 13. ASP MVC 2用於實現CanExecute樣式命令的模式
- 14. 如何實現遞歸回調模式?
- 15. 命令模式 - 返回值
- 16. Java中的單例模式實現
- 17. 有使用命令模式
- 18. 簡單的命令行Java編譯
- 19. Java命令行Mp3 - 簡單錯誤
- 20. 如何使用簡單的命令
- 21. 現實世界中應用命令模式的例子
- 22. npm模塊實現封裝shell命令的模式?
- 23. ArrayIndexOutOfBoundsException在Java中需要使用簡單的命令行程序
- 24. 在Vimpulse中用Ctrl-o調用單個正常模式命令?
- 25. 在Java中實現「system」命令
- 26. 實現可撤銷命令 - Java
- 27. 在命令模式中初始化命令調用者
- 28. Javascript簡單的MVC +模塊模式實現
- 29. 如何使用CL實現`tail`命令?
- 30. 如何使用shell命令實現MapReduce?
GoF命令模式不包括回調。請添加更多信息或顯示您真正想到的模式的網址參考。 – 2010-12-06 08:06:01