Allo scopo di fornire un esempio concreto per la mia domanda, diciamo che sto costruendo un'API che fornisce l'accesso a un sistema di posta elettronica e contiene un insieme di classi pubbliche, ad es. Mailbox
, MailboxFolder
, Message
, MessageAttachment
e così via.
È una buona idea provare ad anticipare in che modo i client possono utilizzare l'API e fornire metodi di "aiuto" per le operazioni comuni?
Ad esempio, immagina che la mia classe Message
abbia un metodo Save(string toFilePath)
. Forse sarebbe utile fornire un altro metodo in Message
che crea un "nome file sicuro" dall'oggetto del messaggio, cioè un nome di file che è una porzione ragionevole del soggetto (poiché la lunghezza di un oggetto di posta elettronica può essere lontana supera la lunghezza massima di un percorso file) dove tutti i caratteri che non sono validi per l'uso in un nome di file sono stati sostituiti con un carattere utilizzabile.
Il motivo potrebbe essere che prevedo che i clienti potrebbero voler salvare un'email con un nome simile all'oggetto.