Здравствуйте, друзья!
Хочу спросить у вас совета.
Есть у меня приложение примерно такого вида:
Acceptor — сервер, ожидает клиентов
Transmitter — клиент внешнего сервера
Controller — на основе событий от Acceptor`a управляет Transmitter`ом
Для того, чтобы это все работало нужно загрузить настройки для этих трех компонентов.
Например:
Acceptor:
Порт
Путь для логов
Таймаут и пр.
Transmitter:
Ip-адресс внешнего сервера
Порт внешнего сервера
Логин, пароль
Controller:
Какие-то настройки типа логирования и пр.
Вопрос такой — как лучше реализовать настройки в этом приложении?
У меня были следующие варианты:
1. Создать класс (пусть CIniFile), считывающий настройки с диска (из файла).
В каждом классе перечисленных выше элементов создать по объекту класса CIniFile и при необходимости читать с диска.
Настроек не очень много, хранятся они в INI-файле. Так что проблем со скорость, думаю, тут не возникнет.
2. Создать класс СSettings, унаследованный от CIniFile, и хранить в нем все настройки сразу. Указатель на этот класс раздать вышеперечисленным объектам и использовать его совместно. Объект типа СSettings сделать членом главного класса приложения, то есть он не глобальный.
3. Создать глобальный объект класса СSettings и запрашивать у него напрямую .
Посоветуйте пожалуйста, какой вариант выбрать или предложите свой вариант.
На всякий случай: пишу на C++ с использованием MFC. Приложение MDI.
Поиск перерыл уже весь.
Заранее большое спасибо!