External Configuration

For the full description, implementation variations, consequences, and detailed sample, see Page 200 in Java Application Architecture.


Modules should be externally configurable.


The ability to configure a module to it’s usage context increases our ability to reuse the module across contexts, whereas tightly coupling configuration to the module prohibits reuse. External configuration allows a module to be reconfigured across environments, and even within it’s existing environment, without demanding redeploying the module.