Top Content Up Prec

2. Building blocks

Next

At this point, we have mostly circle around the TLMP concept. One may reject this concept of level. In the example above, we have main calling report and report calling printing and that's it! Further, unless you play with OO or function pointers, the module report will always call the module printing.

Here is the trick; The report module is not calling the printing module. Its implementation is calling a generic interface to print. This interface is passed various parameters, only known to the report module.

Going higher in the application, the programmer is free to connect the module needed to this interface. In fact, the programmer is allowed to connect a solution made of several modules and some glue written in C.

OO programmers are using this technique on a regular basis. The report module is calling a virtual function and a sub-class is providing the definition for it. In this respect, TLMP is not different from OO programming (well, it generates OO code to achieve its goal). The major difference is in the implementation and code readability.

Top Content Up Prec

Next
Table of content
One big HTML document