LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

Flyweight パターン

Flyweight パターン(フライウェイト・パターン)とは、GoFによって定義されたデザインパターンの1つである。等価なインスタンスを別々の箇所で使用する際に、一つのインスタンスを再利用することによってプログラムを省リソース化することを目的とする。Flyweight パターンのクラス図を以下に挙げる。Flyweight パターンで設計された API では、利用者は codice_1 クラスにあたるインスタンスを取得する場合に、直接そのクラスのコンストラクタを呼び出す代わりに codice_2 にアクセスする。一方、呼び出された codice_3 オブジェクトは、状況に応じて以下のように振舞う。このように codice_3 では状況によって異なる処理が行われるが、利用者側が得る結果は全く同じであるため、利用者は codice_3 の内部構造を意識せずに使うことが出来るという点が特徴である。Flyweight パターンを採用すべき典型的な例は、不変なクラスを扱う場合である。不変なクラスとはインスタンスが生成された後にそのインスタンスの状態が変化しないようなクラスであり、Java では codice_6 や codice_6 などが挙げられる。詳しくはイミュータブルを参照。Java による Flyweight パターンの例を挙げる。このソースコードは JDK1.5 以降のバージョンで動作する。ソースコードとクラス図の対応関係を示す。このプログラムを実行すると「たかいたけたてかけた」(高い竹立て掛けた)という文字列を出力する。codice_8 内で codice_9 を 10 回参照しているが、そのうち実際に生成されたインスタンスは 5 つ(「た」、「か」、「い」、「け」、「て」)だけであり、インスタンスが共有されていることが分かる。一度 codice_3 に保存されたインスタンスは、たとえ不要になった場合でもガベージコレクションされることがないため、場合によっては明示的に codice_3 から削除する必要がある。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。