Наводящий мой горизонт проекта (C# 4.0) - это введение функции настройки пользователя, в которой мои коллеги должны получить возможность конфигурировать наше программное обеспечение или базу с предварительным запуском, чтобы он выполнял свои обязанности любым способом необходимо. Каждый прогон (они будут длительными симуляциями) будет иметь собственный файл конфигурации.Примеры пользовательских файлов конфигурации?
В основном, они хотят определить «продукты», довольно сложные звери, содержащие параметры времени выполнения, информацию типа IOC (списки классов вычислений, требуемые в стиле Strategy Pattern) и многое другое. Значения могут быть числами (целыми и плавающими), строками, датами и списками.
Мы знаем, что содержимое изменится (например, новые имена параметров) по мере появления новых продуктов или существующих.
Опции Я смотрел включают, в порядке убывания (моя оценка) синтаксических тяжести:
- XML
- YAML
- JSON
- DomainSpecific Language?
- Некоторые приложения конкретных текстовых обозначений
Я ищу примеры более или менее подобные вещи: форматы файлов, обсуждения преимуществ и недостатков с технической и/или пользователя перспективе.
(я надеюсь, что в какой-то момент в будущем мы будем рассматривать введение графического фронт-енд для таких упражнений, но мы должны будем иметь возможность настроить казням некоторое время до этого.)
EDIT/UPDATE: я не особенно обеспокоен простотой внедрения с технической точки зрения: я ищу что-то свое (очень умное, но не технически ориентированное) пользователей лучше всего будет использовать, чтобы свести к минимуму трудности что может быть довольно сложной конфигурацией.
Возможно, «конфигурация» - это плохой выбор слова - что, если мы назвали его «файлом определения моделирования» и считали, что каждый пользователь будет создавать многие из них с течением времени?
Другим вариантом для рассмотрения будет небольшая файловая база данных, такая как SQLite или MS SQL Compact Edition. – jalf