With regard to Troy's comment on "making it *impossible* to create multiple instances..." - I would add.. multiple instances shouldn't be a huge problem unless you are using modules in your app. If you are - it is quite important to make sure you watch that like a hawk.
http://www.quilix.com/node/5 Rick Winscot On Mon, Jul 21, 2008 at 10:04 AM, Troy Gilbert <[EMAIL PROTECTED]> wrote: >>> I'm trying to find information on using singletons in AS3/Flex. I've >>> got an .AS file set up but I'm having issues calling the data/functions >>> within that function in other classes. Does anyone have a good resource >>> on the web for creating and using singletons? > > As others have probably pointed out, it sounds like you may be trying > to use a singleton to solve an architectural issue possibly not best > solved with a singleton. But, if singleton is appropriate... > > Don't make it more complicated than it needs to be. Everyone seems to > do that with singletons, which is unfortunate since singletons should > be so rarely used anyway. Just create a class that creates and returns > an instance on first access, then returns that instance on further > access. If you're worried about other developers constructing multiple > instances of your class, then just include a test in the constructor > and have it throw an error or assert. > > Don't worry about making it *impossible* to create multiple > instances... it's just not worth the effort. If people are determined > to use your classes incorrectly and disregard warnings and errors, > etc, then they're digging their own grave. > > Here's the implementation I use: > > public class Singleton { > > private static _instance:Singleton; > > public function get instance():Singleton { > if (_instance == null) _instance = new Singleton(); > return _instance; > } > > public function Singleton() { > if (_instance != null) throw new Error("This class is a singleton. > Instance already created."); > } > } > > Troy. > >