Large-Scale C++ Software Design

taken from "Large-Scale C++ Software Design" by John Lakos, c.1996, Addison-Wesley

There is a distinction between logical design and physical design.

Logical design is what you have learned all along... ADT composition, inheritance hierarchies, etc...

Physical design is how all the logical components are arranged in files and modules for compilation and linking.