2011-08-17 3 views
2

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

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

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

ответ

3

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

+0

+1 Android, Mac OS X, а также среды KDE и Gnome на Linux также предоставляют API-интерфейсы предпочтений. – Theran

+0

О да, это было то, что я хотел. Благодаря! – wrongusername

0

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

Смежные вопросы