причина использования одноэлементного экземпляра заключается в том, что вы можете использовать членов класса (относительно) статически.
Я не буду вдаваться в аргументыиз-за того, использовать здесь или нет одиночный файл, очень долго спорят о том, является ли это хорошим шаблоном или нет.
Как правило, когда используются синглтоны, доступ к ним сохраняется в локальной переменной ииспользуйте их как любой другой экземпляр класса.Основное отличие состоит в том, чтобы вместо:
foo = new Foo();
Вы используете:
foo = Foo.instance;
//Actionscript supports properties which makes this a self-initializing call
-or-
foo = Foo.getInstance();
С последующим
foo.bar();
foo.baz();
foo.fizz = 'buzz';
Это не означает, что Foo
не может иметь статических членов класса, но правила добавления статических членов в Singleton одинаковы для добавления статических членов в любой другой класс .Если функция принадлежит экземпляру, она должна использоваться в экземпляре, если она принадлежит классу, она должна быть статической.