Лучшая альтернатива глобальным переменным MATLAB

Я пишу MATLAB приложение, которое имеет много функций, разбросанных по разным файлам. У меня есть логгер, который представляет собой struct с указателем функции, и я использую его для записи информации, которую может видеть пользователь (то есть, какая функция выполняется в данный момент, результаты вычислений и т.д.). Причина, по которой я использую struct для своего логгера, а не просто fprintf() в том, что в будущем я могу легко заменить его на XML-логгер, HTML-логгер и т.д.

Поскольку мой код состоит из множества функций, вызывающих друг друга, я объявил свою структуру logger как глобальную, чтобы не передавать ее всем моим многочисленным функциям. Однако, куда бы я ни посмотрел, я вижу, что глобальные переменные являются воплощением зла в MATLAB и значительно замедлят работу моей программы.

Есть ли способ иметь переменные, доступные во всех файлах, не передавая их в качестве входных параметров, и не страдая от серьезного снижения производительности?

10
задан Peter Mortensen 27 November 2012 в 20:23
поделиться