tokyo3.0

actionscript3.0 develop log written by s26

diary

Singleton

2010512

デザインパターン:Singleton
目的:複数のクラスからアクセスでき、値を保持してくれるクラスを作る。

 

Singletonは複数のクラスから参照できる値を設定する事で
無駄な生成を抑える事や、値の引渡しを簡単にしてくれます。
コードは下記になります。

 

package {
	public class Singleton {
		public static var _instance:Singleton;
		public static function getInstance():Singleton {
			 if ( _instance == null ) {
				_instance = new Singleton;
			}
		return _instance;
	}
}

 

staticってなんだ?ってなる。
staticは「静的な」となじみのない言葉で表現をされるが、カンタンに言うと
「動的」の反対だから、「その場で生成されるものでない。」ので、
「ずっとそこにいるもの。」なのです。
外部からアクセスした時にも「そこにいる」のです。
つまり「動的」だといない事があるので、いつでもアクセスできる為に
「静的」staticに設定をしています。

 

getInstanceを行うと、Singletonのオブジェクトが生成されます。
一度生成されると、再度実行しても既に生成されたオブジェクトが
取得される設計になります。

 

ここが基本設計で、必要なものを足していきます。

 

package {
	public class Singleton {
		public static var _instance:Singleton;
		public static function getInstance():Singleton {
			if ( _instance == null ) {
				_instance = new Singleton;
			}
			return _instance;
		}
		private var _str:String = "something";
		public function set _str(_write:String):void{
			_str = _write;
		}
		public function get _str():String{
			return _str;
		}
	}
}

 

上記で示した形で、singletonの要素としての_strを用意する事で、
常にアクセスできるString(文字列)を作成できる。
Bitmapだろうと。なんだろうと。
参考:_level0:Singletonパターンを使ってどのシーンからも変数を参照できるようにする。

コメント

コメントの投稿

* コメントフィード

sidemenu

profile

s26

flasher

category

archive

recently

feed

RSS FEED

search