Я думаю, что ответ на ваш вопрос о том, какой подход использовать, будет зависеть от процесса, который вы используете. Если вы выполняете больше гибкого процесса для своей разработки, я бы сделал минимум усилий во время вашей итерации, чтобы настройки сохранялись и успешно передавались между вашими приложениями. По мере появления новых требований о том, что требуется приложениям или, возможно, производительности, становится проблемой, просто переделайте свое решение, чтобы удовлетворить новые требования.
Однако, если вы следите за процессом Waterfall в своей разработке (большой дизайн заранее), и если вы вообще ожидаете, что требования вашего приложения будут выходить за рамки того, что вы в настоящее время знаете (и это, очевидно, происходит довольно часто) тогда я разработал и создал решение, которое, как известно, хорошо работало в прошлом. Какой-то механизм ядра базы данных, будь то большой вес, например MySQL или Microsoft SQL Server, или облегченная версия, такая как SQLite , обеспечит механизм структурирования скважин для обмена данными между несколькими приложениями.
Здесь также еще одно обсуждение о стеке потока о том, использовать ли SQLite или XML для настроек.