출처
http://www.onflex.org/ted/2007/01/singleton-in-mxml.php
Flex을 이용한 디자인 패턴증에서 Singleton을 적용한 방법입니다.
java 처럼 생성자 자체를 private로 할수는 없네요.
다시 말해 생성자를 new로 생성하면 별도의 객체가 만들어지게 됩니다.
Singleton 예)
package
{
public class ConnectionManager
{
private static var instance:ConnectionManager;
private var title:String;
public static function getInstance():ConnectionManager {
if ( ConnectionManager.instance ) {
return ConnectionManager.instance;
} else {
ConnectionManager.instance = new ConnectionManager();
return ConnectionManager.instance;
}
}
public function setTitle(src:String):void {
this.title = title;
}
public function getTitle():String {
return this.title;
}
}
}
new 객체 생성시var connMgr1:ConnectionManager = new ConnectionManager();
connMgr1.setTitle("a");
var connMgr2:ConnectionManager = new ConnectionManager();
connMgr2.setTitle("b");
mx.controls.Alert.show(connMgr1.getTitle() + "/" + connMgr2.getTitle());
getInstance 매소드 이용시var connMgr1:ConnectionManager = ConnectionManager.getInstance();
connMgr1.setTitle("a");
var connMgr2:ConnectionManager = ConnectionManager.getInstance();
connMgr2.setTitle("b");
mx.controls.Alert.show(connMgr1.getTitle() + "/" + connMgr2.getTitle());