JX |
コードの最適化Optimizing the code |
私達のゴールは、 X の悪い部分を全て隠すことであります。最終的には、最適化より優先して API の便宜性を与えることに決めました。
これは奇妙に聞こえるかもしれないのですが、特にXプログラムは、しばし遅いネットワーク上でも動作するので、便利な API の制約範囲内で十分に最適化することができなかったケースを見つけなければなりません。
よい例が、イメージを扱う事です。Xを、サーバーマシン上に保管されているイメージ( Pixmaps )と、クライアントマシンの上に保管されているイメージ(XImages)とを区別するように選択させます。何故なら、オペレーションの中には( XGetPixel()など )、クライアント・マシン上で、良好はパフォーマンスを示すものもあります。
JX は XImages と Pixmaps の区別を隠します。なぜなら、たった一つのクラス( JXImage )を取り扱うことの方が、非常に簡単であるからです。他のメリットとして、両方のタイプを受ける関数をオーバーロードする必要がありません。
JXImage が自動的に XImage から Pixmap へのイメージに変換します。また、実行される操作に依存して戻すことも出来ます。これが、真(true)の状態の間、どちらへも操作可能なコードを書くことができ、簡単に回避もできますので、コスト負担へのメリットもあります。