Используя одиночный элемент для хранения глобальных параметров приложения

я разрабатываю простое моделирование с OpenGL, и это моделирование имеет некоторые глобальные константы, которые изменяются пользователем во время выполнения моделирования. Я хотел бы знать, является ли шаблон разработки Singleton лучшим способом работать временным, временем выполнения, "репозиторий конфигурации"

5
задан FrustratedWithFormsDesigner 8 February 2010 в 18:06
поделиться

2 ответа

Синглтон, вероятно, лучший вариант, если вам нужно сохранить эти параметры по-настоящему «глобальными».

Однако в целях моделирования я бы подумал, можете ли вы разработать свои алгоритмы, чтобы вместо этого передавать ссылку на экземпляр конфигурации. Это значительно упростит хранение конфигураций для каждой симуляции и, в конечном итоге, позволит вам обрабатывать несколько симуляций с отдельными конфигурациями одновременно, если требования изменятся.

Часто попытка избежать глобального состояния - лучший долгосрочный подход.

4
ответ дан 14 December 2019 в 19:12
поделиться

Я думаю, что в прошлом я использовал для этой цели пространства имен, а не однокнопочные классы, но это тоже должно работать (возможно, даже лучше).

Конечно, если вы хотите иметь возможность изменять конфигурацию без перекомпиляции, вы можете переместить все в отдельный файл свойств (или XML, или YAML, или CSV, или что угодно), а затем загрузить его при запуске приложения. Затем вам понадобится класс "config" для хранения всех значений в хэшмапе (или что-то в этом роде).

1
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: