Sto leggendo Algorithms 4th Edition di Robert Sedgewick e nel capitolo 1.2 tratta il design delle API. Dice:
"La chiave del successo nella programmazione modulare è il mantenimento dell'indipendenza tra i moduli, facendo in modo che l'API sia l'unico punto di dipendenza tra i moduli."
Ora il libro è basato su Java. Sto considerando questo in termini di sviluppo del C ++ (ma immagino che i concetti siano simili).
Questo suggerisce che se ho una libreria, ad esempio per fare networking, che se un client # include la mia intestazione net.hpp (nome fittizio) e forse imposta per collegarsi a net.lib, allora non dovrebbero essere richieste altre librerie o librerie ? È questo il succo di questo? O c'è qualcos'altro?