俺の新 Git コース見てよ! おーい!俺の新 Git コース見てよ! おーい!GitByBit.com に俺の新 Git コースあるよ、見てみ! おーい!Git をサクッと復習したい?GitByBit.com の俺の新コース見てみ!
Flyweight

Flyweight を Swift で

Flyweight は、 構造に関するデザインパターンの一つで、 メモリー消費量を低く抑えることで、 プログラムが膨大な数のオブジェクトを支えることができるようにします。

複数のオブジェクト間でオブジェクトの状態の一部を共有することにより、 これを実現します。 つまり、 Flyweight は、 異なるオブジェクトによって使われる同じデータをキャッシュすることにより、 RAM を節約します。

複雑度:

人気度:

使用例: Flyweight の目的はただ一つです: メモリー摂取を最小にする。 もしご自分のプログラムが RAM 不足で困っていない場合は、 このパターンのことはしばらく忘れて大丈夫です。

見つけ方: Flyweight は、 新規オブジェクトの代わりにキャッシュされたオブジェクトを返す生成メソッドの存在により識別できます。

以下の例は Swift Playgroundsで利用できます。
Playgroundバージョンを作成してくれた Alejandro Mohamadに感謝します。

他言語での Flyweight

Flyweight を C# で Flyweight を C++ で Flyweight を Go で Flyweight を Java で Flyweight を PHP で Flyweight を Python で Flyweight を Ruby で Flyweight を Rust で Flyweight を TypeScript で