У меня есть приложение AIR, которое использует Singletons для управления глобальным состоянием во всем приложении. Прекрасно работает для того, что он делает (управляет сетевым устройством). Но теперь клиент хочет порождать несколько экземпляров приложений из первого экземпляра, чтобы они могли управлять несколькими аппаратными устройствами одновременно ... вроде как панель инструментов, но намного больше.
Как вы можете догадаться, я закодировал себя в углу с одиночками, поэтому если я реорганизую приложение, чтобы иметь класс начальной загрузки, который запускает логику приложения с помощью кнопки, скажем, которая порождает другое окно, которое содержит ту же логику приложения затем синглтоны распределяются между обоими окнами приложения, тогда как мне хотелось бы два отдельных экземпляра.
Есть ли способ использовать синглтоны (или что-то еще) для сохранения глобального состояния, но создавать несколько экземпляров в одном приложении, где каждому экземпляру нужен собственный менеджер состояний?