architecture – Write everything as a library component

I think that everything, or almost everything, should be written in the form of a library and that little, almost everything, should enter the code of the application.

Most of the X code of the application can go into myXlibrary or into configuration files.

Another thing that I prefer is to have a lot of small libraries with few dependencies rather than large libraries with a lot of dependencies (especially external ones).

All classes, functions, and function members should be as small as possible.

Last but not least, unlike the basic cpp guidelines (if I remember correctly), I prefer separate classes in different small headers, instead of putting everything in one.

How do you manage the complexity? is this a correct way to do it?