我目前正在爲GWT設計一個NAO機器人的遠程,我正在尋找最佳實踐來執行通過RPC的按鈕的方法。目前我正在用event.getSource()的標題檢查按鈕名稱。但是這會導致大量if語句。我怎麼能把它做得漂亮整潔? ;)爲許多按鈕實現ClickHandlers的最佳實踐
回答
你可以使用一個枚舉或整數作爲標識符你用你的Button構造函數設置。然後在服務器端,你可以用switch case語句保存一些代碼行。
public enum MyButtons {
WALK,
SIT,
...
}
[...]
//ON CLIENT
Button whatever = new Button(MyButtons.WALK);
//ON SERVER
MyButtons action = whatever.getType();
// getType() should provide the value from the constructor
switch(action)
{
case WALK : doStuff();
case SIT : doStuff();
...
}
謝謝,看起來不錯! –
你可以使用命名方法和一些方法反射。
比方說你有一個名爲按鈕: 動作1 動作2 ACTION3
如果這是地方,你可以不同的監聽器添加到每個。因爲它的遙控器,我知道你只有名字。
在遠程實現類有方法叫做:
doAction1 doAction2 doAction3
而且在你的遠程調用看名字,使INIT字母大寫的地方,加辦呢得到方法。你甚至可以通過名稱緩存在地圖的方法
地圖
一旦你的方法,調用它的一個實例工人
所以你認爲所有按鈕不同的監聽器?遙控器上有大約15個按鈕,這將是很多代碼,不是嗎? 我的問題是,它是如何實現在其他網站上有很多按鈕? –
我有許多聽衆的代碼,並建議作爲您的不同行動的解決方案。在JVM或代碼回購中幾乎沒有超過15或100個類。將使代碼清晰,少雜亂 – tgkprog
- 1. HTML按鈕 - 最佳實踐
- 2. codeigniter - 許多類的最佳實踐庫
- 3. 創建許多UIColors的最佳實踐?
- 4. Javascript下載按鈕的最佳實踐實現是什麼?
- 5. 實現緩存的最佳實踐
- 6. Android:實現LocationManager的最佳實踐
- 7. 實現嵌套GridView最多4級的最佳實踐?
- 8. 多線程最佳實踐
- 9. 多個RemoteObjects - 最佳實踐
- 10. 多線程最佳實踐
- 11. 最佳實踐
- 12. 最佳實踐
- 13. 最佳實踐
- 14. 最佳實踐:
- 15. 最佳實踐
- 16. 最佳實踐
- 17. 最佳實踐
- 18. 最佳實踐
- 19. 最佳實踐
- 20. 最佳實踐
- 21. 最佳實踐
- 22. 最佳實踐
- 23. 最佳實踐
- 24. 最佳實踐
- 25. 最佳實踐
- 26. 最佳實踐
- 27. 最佳實踐
- 28. 最佳實踐
- 29. 最佳實踐{{}}
- 30. 最佳實踐
小心解釋一下嗎?這個問題有點含糊。我想你想要的是將命令發送到服務器端代碼並從那裏控制機器人的方法?你目前的實施(或設計)是什麼。 –
據我所知,按鈕被點擊在遠程位置,你想在服務器端的一些代碼比一堆更優雅? – tgkprog
它目前看起來是這樣的: '如果(button.title == 「走」) //做的東西 否則,如果(button.title == 「靜坐」) //做其他的東西 ' 等在...我想有這樣做的更好的方法 –