【フライウェイトパターン】
Flyweightパターン とは?
💡 同じ文字を何万個も作らず、1つのインスタンスを使い回す節約術
📌 このページのポイント
テキストエディタって文字が何万個もあるけど、全部別のオブジェクトなの?
もし全部別々のオブジェクトを作ったら、メモリがすぐ枯渇してしまうよ。そこでFlyweightパターンの出番だよ。
どうやってメモリを節約するの?
なるほど!文字そのものは共有して、位置は別管理するんだね。
その通り!ゲームで木や草を何千本も表示するときも同じで、木の形状データは1つ共有して、座標や大きさだけ変えるんだよ。
Singletonパターンと似てるね?
大量表示が必要なゲームやエディタで大活躍なんだね!
まとめ:ざっくりこれだけ覚えればOK!
「Flyweightパターン」って出てきたら「大量オブジェクトを共有してメモリを節約する設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Flyweight Pattern」 = 軽量級パターン
💬 ボクシングの「フライ級(最軽量)」から名づけられ、オブジェクトを極力軽く(少なく)する意図を表しているんだよ