Я работаю над приложением .NET, которое также будет работать на iphone через monotouch и osx / linux через mono. Приложение будет содержать профили для различных пользователей, а профиль, используемый для определенного сеанса, будет выбран при запуске, например, Skype.
Чтобы сохранить настройки для каждого пользователя, я рассматриваю возможность использования системы параметров приложения, которая является частью .NET. Тем не менее, эта система, кажется, полагается на отражение, которое не доступно на iphone. Я также не уверен, будет ли эта система работать на платформах, отличных от Windows.
Я также мог бы использовать базу данных sqlite приложения, в которой хранятся данные приложения, для хранения настроек, и просто свернуть мои собственные классы настроек, которые будут сериализованы / десериализованы, в базу данных sqlite, как и все другие данные приложения.
Наконец-то я смог накатить свое собственное файловое решение.
Каковы компромиссы для этих подходов? Почему .NET имеет специальную поддержку пользовательских настроек? Кажется, что это довольно простая вещь, которую кодировщики должны делать самостоятельно, и наличие выделенной поддержки в рамках .NET заставляет меня подозревать, что я упускаю некоторую сложность.
Спасибо!