Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   реализация паттерна singleton на AS3 (http://www.flasher.ru/forum/showthread.php?t=109596)

divinus 17.03.2008 15:36

реализация паттерна singleton на AS3
 
собств. вопрос... )
на AS2 использую давно... код примерно такой:
Код:

class Main{
        private static var instance : Main;
        public static function getInstance() : Main {
                if (instance == null)
                        instance = new Main();
                return instance;
        }       
        public static function main() : Void {               
                var m : Main = getInstance();
        }
        private function Main() {
                ******
        }
}

но вот встала потребность создать "одиночку" на AS3, а там как мне помнится запрещается объявления конструктора "приватным"... как быть? может быть кто-то сталкивался?

etc 17.03.2008 15:45

Можно выкидывать ошибку, если instance уже есть.
А вот необходимость использования подобного шаблона сомнительна.

Molecula 17.03.2008 15:46

А Гугл отменили?
http://www.cynergysystems.com/blogs/...ngleton_in_as3

http://www.gskinner.com/blog/archive...ingletons.html

WindWalker 17.03.2008 15:50

Вот тут довольно подробно расписано:

http://yarovoy.com/2007/10/24/single...ctionscript_3/

divinus 17.03.2008 15:53

2__etc, хм, а ведь и правда! )

Iv 17.03.2008 17:02

Цитата:

Сообщение от __etc
...
А вот необходимость использования подобного шаблона сомнительна.

- в данном случае или вообще?

etc 17.03.2008 17:10

Цитата:

Сообщение от Iv
- в данном случае или вообще?

В абсолютном большинстве случаев. Разводить очередной холивар я не хочу, так что в дискуссии участвовать не буду.

Iv 17.03.2008 17:19

Да нет холивара. Я согласен с твоей формулировкой.

Mr. Fixit 17.03.2008 18:15

Код:

private static var __instance :  SomeClass = null;
               
public static function getInstance() : SomeClass {
    if(SomeClass.__instance == null) SomeClass.__instance = new SomeClass();
        return SomeClass.__instance;
    }
               
public function SomeClass() {
                       
}


divinus 17.03.2008 18:30

и что это такое по вашему Mr. Fixit?
это тот же синглтон, только корявый...
что будет если мы где-то напишем:
Код:

var someClassInst:SomeClass = new SomeClass();
?


Часовой пояс GMT +4, время: 00:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.