GWTプラットフォームでは、アクションとイベントの違いは何ですか?
3 に答える
アクションは、client-serverコマンドを表すオブジェクトです。アクションは、GWTPのディスパッチャー(DispatchAsync)を使用してクライアントからサーバーに送信されます。アクションは、アクションハンドラーを使用して、サーバー側で処理されます。アクションは、成功または失敗したアクション処理のクライアント側の処理のために、非同期コールバックを持つことができます。
イベントは、クライアント側で使用されるオブジェクトです。それらは(理想的にはプレゼンターまたはプレゼンターウィジェットから)起動され、EventBusを介して他のプレゼンター/プレゼンターウィジェットにブロードキャストされます。他のPresenter/PresenterWidgetsは、特定のイベントタイプをサブスクライブし、そのタイプのイベントがEventBus全体で発生するたびにアクションを実行できます。これは、オブザーバーパターンの実装です。
イベントの概念は、アクションよりも少し広いと思います。各アクションは何らかのイベントに関連付けることができますが、アクションは必ずしも定義されたイベントの発生に対するものではありません。アクションは、ユーザーの任意のアクションです。また、イベントは、ユーザー アクション (UI イベント) または何らかの条件の実行 (その他のイベント) の結果です。たとえば、ユーザーがアクション press button
を実行したとします。このアクションは、イベント に関連付けることができますbutton was pressed
。たとえば、イベント expiration of user session
はアクションを必要としません。
しかし、これらの用語は GWT では意味が非常に似ており、多くの開発者が同じ意味で使用していると思います。