В настоящее время на своем личном веб-сайте, который я создаю, я использую глобальный статический класс Config для хранения всего настраиваемого, что мне может потребоваться изменить, что является полуглобальным. Так что сейчас это выглядит примерно так:
public static class Config
{
public static string ConnectionString = "mongodb://localhost";
//more configuration options..
public static MongoDB.Driver.MongoDatabase GetDB(){
MongoServer server = MongoServer.Create(Config.ConnectionString);
MongoDatabase db = server.GetDatabase(Config.Database);
return db;
}
public static Markdown GetMarkdown(){
var options=new MarkdownOptions(){
AutoHyperlink=true,
AutoNewlines=false,
EmptyElementSuffix=" />",
LinkEmails=false,
StrictBoldItalic=true
};
var m=new Markdown(options);
return m;
}
}
Является ли использование глобального класса конфигурации, подобного этому, своего рода анти-паттерном? Кроме того, я предпочитаю, чтобы мои строки подключения находились вне web.config. Мне нравится, что мой web.config должен быть минимально возможным.