複数版 Singleton パターン

July 07, 2008category: Flash 

リファクタリングを再読していて発見。P.179 に Singleton の複数版パターンがあった。抽象化すると単なる Hash なのだが、何かと使えそう。

以下、簡単なコード。

package {
  import flash.utils.Dictionary;

  public class Hoge {

    private var name:String;
    private static var instances:Dictionary;

    public function Hoge(name:String) {
      this.name = name;
    }

    public static function getInstance(name:String):Hoge {
      if (instances == null) {
        instances = new Dictionary();
      }

      if (instances[name] == undefined) {
        instances[name] = new Hoge(name);
      }

      return instances[name];
    }
  }
}

comments (0)

comments