Как вы обрабатываете пользовательские настройки?

Как и в большинстве программ, пользователи могут указать, как они хотели бы обрабатывать определенные вещи. В моем случае пользователи могут указать, какое форматирование они предпочитают. Есть 3 варианта: оставить неформатированный, верблюжий футляр или подходящий футляр. В настоящее время он работает, но кажется очень неуклюжим и повторяющимся. Вот краткое изложение класса.

public static class Extensions
{
    public static string GetPreferenceFormattedText(this string text, ApplicationPreferences applicationPreferences, bool pluralize)
    {
        if (applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.SameAsDatabase))
            return text;
        string formattedText = text.Replace('_', ' ');
        formattedText = formattedText.MakeTitleCase();
        formattedText = formattedText.Replace(" ", "");

        if (applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.Prefixed))
            return applicationPreferences.Prefix + formattedText;

        return applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.CamelCase)
                   ? formattedText.MakeFirstCharLowerCase()
                   : formattedText;
    }
}

Сам метод не кажется громоздким. Так его называют. Мне всегда приходится передавать предпочтения пользователя каждый раз, когда я хочу получить отформатированный текст. Кажется, это лучший способ. Не лучше ли создать обычный класс и передать объект настроек приложения через конструктор?

Спасибо.

7
задан Mike 11 September 2010 в 19:11
поделиться