i've actually had issues with this:::

say in one class I reference a singleton like this:
var s = MySingelton.getInstance();
s.doSomeMethod();

then in another class I reference it like this:
MySingleton.getInstance().doSomeMethod();


it created unexpected results where it wouldn't work using the first way. So our team has standardized always using the second method..

heres here I do singletons:

class SomeSingleton
{
        
        //singleton instance
        private static var inst:SomeSingleton;

        //constructor
        private function SomeSingleton()
        {
                init()
        }

        //initialize
        private function init():Void
        {
                //some code
        }

        //singleton access
        public static function getInstance():SomeSingleton
        {
                if( inst != null )
                        return inst;
                
                return inst = new SomeSingleton();
        }

        //test method
        public function someMethod():String
        {
                //some code
                //call like:  SomeSingleton.getInstance().someMethod();
                return "Called some Method";
        }
}


On Feb 20, 2006, at 12:08 PM, Manuel Saint-Victor wrote:

Okay- so when I'm calling my getInstance(); shouldn't any info I retrieve about properties on my Singleton be the same even if they are dynamically updated. For example- I have a class that contains a Netstream object inside
my Singleton and I wold think that from any timeline I could create a
reference--> an instance of my class -->and then request myNetStream.time. But this just gets me a bunch of zeros despite the fact that another tracer
from within that class is tracing out all kinds of other numbers for
myNetStream time's value.

I've been having several situations where I'm wondering if I'm losing
references when another object is calling my getInstance() or something
weird like that

M


On 2/20/06, Judah <[EMAIL PROTECTED]> wrote:

That's what I love about this list. The stuff I learn is invaluable. :)

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ian Thomas
Sent: Monday, February 20, 2006 12:52 PM
To: Flashcoders mailing list
Subject: Re: [Flashcoders] Re: When singletons go bad

If you use getInstance(), a constructor gets called - which is often handy
if you need to run any kind of initialisation code for your singleton
(that
you couldn't just do with initial property values).

If you just used statics, you might end up having to do something like:

public static function doSomething()
{
   if (!_initialised)
   {
      _initialiseMe();
   }
   // Do whatever this function is supposed to.
}

for every function that cared about the initialisation. Which is a pain.

I often pre-emptively use getInstance in case I need to go back and add
any
sort of initialisation to a class later on. If it's clearly a utility only class (for example, string utilities, math utilities - just a collection
of
helper functions in a class) then I tend to use purely statics.

Cheers,
   Ian

On 2/20/06, JesterXL <[EMAIL PROTECTED]> wrote:

He can, but every other progammer (well, ok, mainly Java developers) are familiar with the getInstance convention. It clearly illustrates that
the
class is a Singleton.

I only use it when my boss says to; otherwise, static all the way baby.

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com



_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to