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