Flyweight パターン
Flyweight パターンで設計された API では、利用者は Flyweight クラスにあたるインスタンスを取得する場合に、直接そのクラスのコンストラクタを呼び出す代わりに FlyweightFactory.getFlyweight() にアクセスする。
一方、呼び出された FlyweightFactory オブジェクトは、状況に応じて以下のように振舞う。
対象のインスタンスを新たに生成する。
生成したインスタンスをプールする(言い換えると、メンバのコンテナオブジェクトに格納する)。
生成されたインスタンスを返す。