Steve Chambers Steve Chambers - 1 month ago 16
Java Question

Is coupling property file values with data in a database an anti-pattern?

I'm working on an application where there are a few configuration values defined in properties files whose values or valid ranges are in some way dependent on data stored in a database.

This seems wrong for a few reasons but I'm struggling to find a name for this or indeed any published article that might suggest it is bad practice. Could anyone advise?

Answer

Your pain has a name, and it is coupling.

The property file -- which I gather is either part of a server's configuration or is bundled with the application -- is coupled to the database. Changes in the database will ripple to the property file.

It's not the worst kind of coupling -- that circle of hell is Pathological/Content coupling -- but coupling it still is.

Comments