How to manage configuration data in large projects?

249 views Asked by At

As software projects grow they inevitably pile up a lot of configuration data. Each new module, library or framework can have some. Data can have many form such as XML, properties etc. But they usually can be located at in-code defined places. Is there any good practice saying how the configurations should be structured and otherwise managed?

1

There are 1 answers

0
NicoE On BEST ANSWER

No matter the technology - whether .Net, Java or whatever - a large project will warrant the use of a shared/central configuration provider/manager on which different modules/libraries depend.

For .Net a GAC registered configuration manager library is a good option which exposes the configuration settings from a shared .Net app config compliant configuration file. If multiple processes/app domains use this shared configuration their own app configs can include the central config file and thus use the central configuration manager.

For Java a similar approach is probably advisable, as long as the application configuration library is available on the classpath of each application. In Java's case a lot of the configuration itself will of course be contained in the code or xml files (think spring) of a library itself, but by using a property placeholder one can easily transpose values found in a central properties file so that it is available at runtime/application startup.