настройка — реализовать глобальные настройки приложения в переполнении стека

У меня относительно большое академическое программное обеспечение для моделирования (50 классов). Пользователь выбирает файл конфигурации, который содержит более 20 элементов. Эти постоянные переменные используются во всей платформе моделирования (почти в каждом классе). Симуляция запускает сотни тысяч объектов агента несколько раз в секунду, поэтому производительность важна.

В настоящее время я использую класс настроек Singleton. Я использую этот экземпляр, чтобы получить значения, считанные из файла, в класс при запуске программы (я не хотел добавлять ссылку на класс настроек в каждом другом классе).

1- Я недавно запустил профилировщик и обнаружил, что чрезмерные вызовы getInstance (). GetSomeSetting () снижают производительность.

2. Каждый раз, когда я говорил об использовании синглтона, я получал много осуждений.

Каков наилучший способ доступа к настройкам в таком сценарии? Должен ли я использовать глобальные переменные для этих 20+ элементов конфигурации?

3

Решение

Вы можете сохранить объект конфигурации в shared_ptr и передать его куда угодно, таким образом у вас будет один объект настроек

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector