Just got introduced to this article:
JUCE module system is called a unity build (technique of using #include on .cpp files). So if you want to learn more you can search for “unity build” and find out about pros and cons, and variations on this technique.