Your classes depend on the settings. Thus, you may want the Injection of Dependency to separate them from how they are stored and improve the testability of your classes.
This is much simpler if you use the dependency injection infrastructure (Castle Windsor, NInject, etc.).
To avoid re-querying the database, you must create a Settings object that has a Singleton lifetime. Avoid a static singleton such as a plague. They make your application inherently inappropriate. See Static Singlets - Anti-pattern .
source share