Sto cercando una buona risorsa per conoscere la buona progettazione dell'API per le librerie C ++, guardare oggetti condivisi / DLL ecc. Ci sono molte risorse sulla scrittura di API carine, classi, modelli e così via al livello sorgente, ma quasi nulla di mettere insieme le cose in libs condivisi e file eseguibili. Libri come il software su grande scala C ++ di John Lakos sono interessanti ma massicciamente obsoleti.
Quello che sto cercando è un consiglio, ad esempio sulla gestione dei modelli. Con i template nella mia API spesso finisco con il codice della libreria nel mio eseguibile (o in un'altra libreria), quindi se correggo un bug non posso semplicemente distribuire la nuova libreria, ma devo ricompilare e ridistribuire tutti i client di quel codice. (e sì, conosco alcune soluzioni come provare ad istanziare almeno le versioni più comuni all'interno della libreria ecc.)
Sto anche cercando altri caveat e cose da tenere in considerazione per mantenere la compatibilità binaria mentre si lavora su librerie C ++.
C'è un buon sito web o un libro su queste cose?