Previous: GC構造体
Up: GC構造体
Next: GCの生成
Previous Page: GC構造体
Next Page: GCの生成

GCの存在理由

なぜ GC などという新しい構造体をわざわざ作り出すのでしょうか? これはXウィンドウの最大の特徴である 「サーバーとクライアントの通信」の考え方と関係があります。 クライアントからサーバーに図形を描く命令を送る時に、 通信の量が増えすぎるとシステムの効率が悪くなってしまいます。 それを防ぐ工夫が GCなのです。 GCのデータは実体がサーバーの側に置かれ、 変更が必要になった時のみ報告が行われます。
絵の道具を持っているのは、絵描きであるサーバーだと考えれば わかりやすいでしょう。 ただし皆さんのプログラムの方でも必要に応じて、 いろいろ「道具」について注文をつけなくてはいけません。 ですから色などを指定して絵を描く場合には、 GC構造体のデータを取り扱うことになります。 (もちろん GCの考え方のおかげで、その作業はかなり楽になっています。)
実際にプログラムを書く立場から見ると、 GCのおかげで関数に渡す引数を減らせるという利点もあります。 1個1個の細かい指定をすべて独立した引数で与えるとすると、 引数の個数は何十個にもなってしまうでしょう。 これではプログラムが読みづらいし、 コーディング時のエラーも起こりやすくなります。 そこでグラフィックに関係した情報はすべてまとめてしまい、 関数にはその「情報のパック」を引数として渡そうというのが、 GCの考え方なのです。

maruyama@wakhok.ac.jp
1995年02月01日 (水) 00時21分18秒 JST