C, дизайн: удаление глобальных объектов

Я создаю небольшой симулятор жизни в стиле Avida. Я начал с очень простой, универсальной 600-строчной программы в одном файле для проверки некоторых идей, а теперь я хочу создать реальный дизайн.

Среди прочего, у меня был объект глобальной конфигурации, который у каждой другой функции что-то получилось. Теперь я должен локализовать объект и передать ему указатели. Дело в том, что в основном этот объект нужен всем. Я придумал три возможных решения:

  • a) Сохранить объект конфигурации глобальный (самый простой, но не совсем решение)

  • б) Хранить указатели везде, где они есть необходимо (достаточно просто, хотя и бесполезно памяти, так как некоторые маленькие простые старые структуры данных потребуют it).

  • c) Создание фабрик для типов POD которым нужен доступ к опциям и завод выполняет все операции на их.

Из моих идей только (с) звучит логично,но я не хочу без нужды усложнять структуру. Что бы вы сделали, ребята?

Меня устраивают новые идеи, и я предоставлю всю информацию о программе, которую вы хотите знать.

Заранее спасибо!

6
задан slezica 9 July 2011 в 19:01
поделиться