6

次の問題があります: GWT を使用してプロセスをモデル化しようとしています。ここでは、いくつかの送信ボタンを備えたビューがいくつかあります。そして、ボタン 1 を押すとサーバーとの対話が作成され、すべて問題がなければ、次のビューが読み込まれます。私の問題は、本当に厄介なスパゲッティコードを取得することです(私が何を意味するかを示すために非常に高レベルです):

onClick {
    AsyncCallback {
       onSuccess {

           load new view with another clickhandler and an asynccallback

       }
    }
}

ある種の抽象化などを作成する方法はありますか? 多分状態パターン?どのように?どうもありがとう!

4

5 に答える 5

1

スパゲッティ コードは、多くのコードが非同期コールバックを中心に構成されている Javascript と同様に、GWT においてもトリッキーな問題です。

この質問への回答で説明されている、それに対処するためのテクニックのいくつかを適用できます。

于 2012-07-11T09:28:30.993 に答える
0
changeview(boolean first){
        if(first)
        {
                firstView.setVisible(true);
                secondView.setVisible(false);
        }else{
                firstView.setVisible(false);
                secondView.setVisible(true);
        }
}

onClick {
    AsyncCallback {
       onSuccess {
                changeView(false);
       }
    }
}

上記でビューを切り替えます。

于 2012-07-11T09:35:12.493 に答える
0

最初から MVP を使用します。アクティビティと場所を使用します。あなたのコードはきれいになります。

于 2012-07-11T09:30:42.163 に答える
0

ウィジェット間の結合を回避するために推奨されるアプローチは、EventBus を使用することです。ここで詳細を読むhttps://developers.google.com/web-toolkit/articles/mvp-architecture#events

それが役に立てば幸い。

于 2012-07-11T09:13:47.347 に答える