- 148 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:22:41 ]
-
いずれにしても上記の(1)->(2)というイベント「順」で表現された 「フォーマットはしないで、実行」という「文脈」を正しくとり 扱う必要があります。GUIの側は非同期処理で実装されていてもOK ですが、その処理内容は常に上記のイベントの入力順番を意識する 必要があります。 まとめると、ユーザー操作のイベントは個々が単発で存在している のではなく、「[いいえ]をクリック」「[実行]をクリック」とその イベント列で表現された文脈の中に存在しています。 さらにGUIを持つアプリケーションは、多くの場合内部状態をもって いるステートフルなアプリケーションです。 ステートフルなアプリケーションは非同期に入力されるイベントを 適切に取り扱うためにキューやロックを慎重に設計する必要がある、 これはGUIのみならずアクセンスカウンターからAmazonに至る 全てのウェブアプリケーションについても同じ事です。 ただGUIは内部状態の更新を引き起こすイベントの粒度がウェブに 比べより細かく、数も多いです。 また前述のようにイベント列は文脈をもっています。 この問題に対してイベント列をキューにためて順繰りに処理を行う 方法がプログラマが管理しやすい「現実的な」解として長らく支持 されてきたのだと思います。 もし現在の実装よりマルチスレッドなGUIツールキットの開発を目指 しているのであれば、個人的には入力イベントの文脈依存性をどの ように取りさばくのか、その実装アイデアに興味があります。
|

|