ゲーム開発のためのオブジェクト指向(Flyweight)

投稿者: | 2012年5月28日

Flyweight

Flyweightは共通のコンポーネントを参照することにより、軽量なクラスを実現することです。

たとえば、トークンに描画機能を持たせる場合に、各トークンが「グラフィックスオブジェクト」を生成するのは、リソースの無駄になります。かといって、トークンの呼び出しを行うたびに、「グラフィックスオブジェクト」のポインタを

いちいち渡すのは面倒です。そこで、メンバ変数にスタティックな「グラフィックスオブジェクト」の参照を持たせることで共有化を行い、トークン自体が自由に描画を行えるようになります。

注意点

注意点としては、あるトークンが「グラフィックスオブジェクト」に変更を加えると、他のトークンにも影響を与えてしまうので、「グラフィックスオブジェクト」に変更を行ってはならないことです。