gah, of course, I meant to say "singletons and modules" in the subject!
Sorry about that :-|



On 05/12/2007, bjorn - <[EMAIL PROTECTED]> wrote:
>
> I've made a simple testcase with a singleton and three Flex projects:
>
> 1. MainApp
> 2. ModuleOne
> 3. ModuleTwo
>
> MainApp loads ModuleOne which loads ModuleTwo (it could also load both
> modules, the behaviour I describe below seems to be the same in both cases).
>
> I have created a TestSingleton.as which implements the Singleton pattern
> (as far as it can be tanken in AS anyway ..)
>
> Here's TestSingleton.as's getInstance() method:
>
>   /**
>    * Get the only instance of the TestSingleton
>    * @return TestSingleton instance
>    **/
>   public static function getInstance():TestSingleton
>   {
>    if (instance == null)
>    {
>     instance = new TestSingleton();
>     trace("TestSingleton - instance was null, so created new
> instance");
>    } else {
>     trace("TestSingleton already instanciated, so returning instance..");
>    }
>    return instance;
>   }
>
>
> If I put the singleton in MainApp, and then getInstance() it from
> ModuleOne and ModuleTwo I'll get this in my trace:
>
>
> [SWF] C:\dev\FlexWorkspace\ModuleTestMainApp\bin\ModuleTestModuleOne-
> debug.swf - 450,372 bytes after decompression
> TestSingleton - instance was null, so created new instance
> [SWF] C:\dev\FlexWorkspace\ModuleTestMainApp\bin\ModuleTestModuleTwo-
> debug.swf - 446,193 bytes after decompression
> TestSingleton already instanciated, so returning instance..
>
>
> .. which is the expected behaviour.
>
> However, if I put TestSingleton.as in ModuleTwo, I get this:
>
> [SWF] C:\dev\FlexWorkspace\ModuleTestMainApp\bin\ModuleTestModuleOne-
> debug.swf - 450,372 bytes after decompression
> TestSingleton - instance was null, so created new instance
> [SWF] C:\dev\FlexWorkspace\ModuleTestMainApp\bin\ModuleTestModuleTwo-
> debug.swf - 446,193 bytes after decompression
> TestSingleton - instance was null, so created new instance
>
> .. it doesn't behave as a singleton anymore ..
>
> Can anyone explain why? :-)
>
> --
>
> ========================
> http://www.juicability.com - flex blog
> http://www.43min.com - funny movies
>



-- 

========================
http://www.juicability.com - flex blog
http://www.43min.com - funny movies

Reply via email to