Discussion and considerations
If everything is considered in isolation, it leads to a design where one issue is solved at a time. To make that clear, let's take a typical CMS example, the boxes that add many minor features to the browser page. In our terminology, the code that creates a box on the browser screen is called a module. One module may be used more than once, to create more than one box.
Each box requires the calling of a class in a module, but the call has to pass information specific to the box. The required information is typically stored in a database table, with one row for each box configured for creation by a module. The data includes vital information such as the position of the box, and any parameters that affect how it will be presented on the browser screen. Clearly, one way to process modules is to pick out only those boxes that are needed for a particular part of the browser screen, and run the modules that create them. If we were especially inefficient, our implementation...