Introduction
Metadata-driven approaches have been studied, found useful, and applied in many fields, such as the IT industry, manufacturing, and so on.The main idea is to avoid hard-coding or use it as little as possible. Less hard-coding means that the system we are designing becomes more complex and more difficult to create. So, what are the benefits? Why should we do it in the first place? We should do it because later there's less maintenance for those who create such systems and more flexibility for users. Is that a good enough reason to start moving in that direction? Definitely!
Here's one example to illustrate this principle better.
Not so long ago mobile phones had small screens and numerous buttons (keypad). The buttons were preprogrammed for what they could do. Numbers 0-9 were used to type a phone number, the green button to make the call, and the red button to hang up or cancel an operation. In addition to that, those old phones had two to three extra buttons, empty buttons, under...