I wanted to write something about the concept of a "configuration class", which Emanuele touched on in a discussion about the singleton pattern. Let me start by explaining what I mean by a configuration class. It's a relatively common "pattern", although you'll never find it in any books. I'm going to argue that this is because, like Singleton, it's the wrong solution to the problem.
The Problem
.NET has an incredibly flexible XML-based configuration API. However, for the purposes of this discussion, we can concentrate on the bit that most developers use: AppSettings. This is basically just a string hashtable with delusions...