Spesso vedo il consiglio che dovresti provare a rendere indipendente ogni libreria. Eppure in realtà non riesco mai a ottenerlo. Questo consiglio di BS o è effettivamente possibile in qualche modo realistico?
Esempio: scrivo una libreria vettoriale 2D, quindi la uso per creare una libreria di collisioni 2D. Quindi creo una libreria di fisica 2D che utilizza sia la libreria vettoriale 2D che la libreria Collision 2D. Mi sono seriamente aspettato di trovare un modo per rendere la libreria fisica non dipendente dalle altre 2 librerie? Probabilmente alla fine vorrò essere in grado di serializzare / deserializzare la fisica e i dati di collisione, il che significa che vorrò farli ulteriormente dipendere da qualche libreria di serializzazione.
Un altro esempio: ho una libreria di stringhe con molte funzioni di stringa (penso endsWith(str, ending)
e startsWith(str, start)
o qualsiasi altra cosa. Poi scrivo una libreria di template che usa la mia libreria di stringhe.
Raramente riesco a scrivere una nuova libreria che non usa altre librerie.
Potrei scrivere interfacce e poi scrivere adattatori per tutti quelli che tentano di disaccoppiare una libreria da un'altra, ma è improbabile che sia performante e spesso i modelli delle diverse librerie significano che anche se potessi disaccoppiare con un'interfaccia cercando di usare una libreria diversa da quella originariamente disaccoppiata finirà per essere impossibile o massicciamente non performante.
Quindi, questo consiglio originale è BS o esiste un modo per applicare effettivamente il consiglio nel mondo reale?