Which design patterns can be applied to the configuration settings problem?

Viewed 45953

In large and complex software products managing configurable settings becomes a major pain. Two approaches I've seen to the problem are:

  • have each component in the system load its own configuration from config files or registry settings.
  • have a settings loader class that loads all the configurable system settings and have each component query the settings loader for its settings.

These approaches both feel wrong to me.

Are there any design patterns that could be used to simplify the problem? Maybe something that would take advantage of the dependency injection technique.

4 Answers

You can create multiple implementation of an interface that defines the config loader. Basically strategy pattern where you can define one basic interface as configLoader and then further different implementations such as FileSystemLoader, ClasspathLoader, EnvVariablesLoader etc. Details at this link

Related