https://github.com/apache/mesos/blob/master/include/mesos/module.hpp#L56
The mesos modules all derive from the struct ModuleBase, and when create different module instances they use template. I am curious about that, why they prefer template than heritage? Is that because of running time speed?
I also have noticed that so many open source projects in C++ prefer to use a lot of template which cause the code hard to read and understand, why?