Лучший способ хранить информацию, используемую всей программой? - PullRequest
2 голосов
/ 17 августа 2011

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

Я думал об использовании глобальных переменных, хранящихся в отдельном файле, который может быть включен другими файлами, которыенужна информация.Таким образом, мне просто нужно изменить значение этой глобальной переменной, и вся программа сможет получить доступ к новому значению, как и раньше.Однако я боюсь, что использование таких глобальных переменных будет плохой практикой.Что вы думаете об этом?

(Кроме того, я подумал, что это не зависит от языка, но если есть разные лучшие способы сделать это на разных языках, я хотел бы также услышать об этом)

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

Похоже на настройки API .Практически каждый нетривиальный фреймворк приложений предлагает один или даже несколько.Например, один из них является частью основного Java API, а другой - частью инфраструктуры Eclipse.В Windows есть реестр, который вы можете использовать с любым языком на этой платформе и т. Д. Эти вещи обычно структурированы, поэтому есть статический метод фабрики, который вы используете, чтобы получить хранилище предпочтений для приложения, и затем вы можете взаимодействовать с ним изв любом месте.

0 голосов
/ 17 августа 2011

Вы можете создать так называемый общий контроллер для хранения сложной информации (с некоторыми методами для создания / обновления / удаления информации).Это может быть реализовано по шаблону синглтона.Разработчики Objective-C часто используют эту практику для хранения глобальных объектов в приложении.

...