Sto scrivendo una biblioteca per il consumo generale (è software libero e open source). Va bene avere uno spazio dei nomi visibile (ad esempio Library.Implementation
) per componenti di sola implementazione che rimangono pubblici per motivi tecnici (condivisione tra più pacchetti / assiemi), ma che non fanno parte della libreria corretta e l'utente deve evitare utilizzare?
Possiedo meccanismi che potrebbero consentirmi di condividere i componenti nascondendoli agli utenti, ma sono difficili da utilizzare a causa di motivi tecnici.
Ciò non danneggerebbe l'integrità della libreria, in quanto i componenti sono principalmente codice di utilità e la libreria segue correttamente l'occultamento delle informazioni. Esempi di componenti includono varie funzioni di conversione, una speciale varietà di tuple e alcuni comparatori. Gli utenti potrebbero anche trovare utili i componenti, ma non sono ciò di cui tratta la libreria.