GUIを実現するプログラミングモデル
というものに関する論文なんていうストレートなものはあまり見掛けない。私が探せていないだけだと思うけど。
GUIプログラミングモデルの設計上の分れ道としては、まず次のものが考えられると思う。
- シングルスレッドかマルチスレッドか?
- 画面同期は定期的か不定期か?
- 座標は2D(Zオーダーを加味すると2.5D?)か3Dか?
これらは主に排他的でハイブリッドにもできるけど基本はどっちか。二択ではないけど、「何を使って描画するか」も分水嶺。
- ドット
- 直線、平面、曲線、三角形、曲面
- GUI部品
あぁ、VRAMとか単純で良かったなぁ。
蛇足だけど、GUIプログラミングではイベントドリブンという言葉がよく紹介される。だけど、ユーザーからの操作がいつ起こるか分からないんだから、それをイベントと呼ぶならイベントがドリブンフォースになるのは当り前。何も言っていないトートロジーで、イベントドリブンじゃない何かなんて無いので惑わされないように。百歩譲っても「シングルスレッドを前提にしているので、処理は非同期にしなきゃいけない!注意!」という意味でしかない。