Разделите класс as3 между доменами

У меня есть экземпляр класса Singleton, созданный в Main.swf и расположенный в domainA. Файл загружает Game.swf из domainB через LoaderMax (http://www.greensock.com/). Когда я пытаюсь получить доступ к Singleton, я предполагаю, что это не то же самое, что и в Main.swf.

Есть ли способ заставить это?


person Mattias    schedule 06.12.2011    source источник


Ответы (2)


Это должен быть один и тот же синглтон, если ваши файлы загружаются в один и тот же домен приложения. Для этого можно использовать LoaderContext. .

Кроме того, вы можете использовать структуру внедрения зависимостей, например SwiftSuspenders, чтобы позаботиться об этом более элегантно, но поскольку большинство из них в значительной степени зависят от describeType, я бы посоветовал протестировать для проблем с производительностью, если вам нужно внедрить материал во множество игровых объектов.

person weltraumpirat    schedule 06.12.2011

Это одна из многих проблем с использованием Singleton (http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/). Могу ли я предложить вместо этого просто передать экземпляр в game.swf и возложить ответственность за его создание на main.swf?

person Amy Blankenship    schedule 06.12.2011