티스토리 뷰
728x90
출처
http://www.onflex.org/ted/2007/01/singleton-in-mxml.php
Flex을 이용한 디자인 패턴증에서 Singleton을 적용한 방법입니다.
java 처럼 생성자 자체를 private로 할수는 없네요.
다시 말해 생성자를 new로 생성하면 별도의 객체가 만들어지게 됩니다.
Singleton 예)
new 객체 생성시
getInstance 매소드 이용시
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;
}
}
}
{
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());
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());
connMgr1.setTitle("a");
var connMgr2:ConnectionManager = ConnectionManager.getInstance();
connMgr2.setTitle("b");
mx.controls.Alert.show(connMgr1.getTitle() + "/" + connMgr2.getTitle());
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 서울오토살롱
- 송주경
- 튜닝쇼 2008
- oracle
- koba2010
- Spring
- flex
- ffmpeg
- Spring MVC
- android
- 레이싱모델 익스트림 포토 페스티벌
- KOBA
- JavaScript
- sas2009
- 일본여행
- ubuntu
- ble
- Xcode
- 전예희
- Linux
- NDK
- MySQL
- SAS
- BPI-M4
- Delphi Tip
- 지스타2007
- Mac
- Delphi
- 동경
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함